首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >扩展Node.js类时的花括号

扩展Node.js类时的花括号
EN

Stack Overflow用户
提问于 2012-09-29 06:14:26
回答 1查看 3.5K关注 0票数 27

为什么在扩展Node.js类时,我们要把变量放在花括号里,比如{EventEmitter} = require 'events'

例如,Trevor Burnham在他的tutorial on Event-Driven CoffeeScript中这样扩展了Node的EventEmitter:

代码语言:javascript
运行
复制
{EventEmitter} = require 'events'

class Rooster extends EventEmitter
  constructor: ->
    @on 'wake', -> console.log 'COCKADOODLEDOO!'

(foghorn = new Rooster).emit 'wake' # COCKADOODLEDOO!
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-29 06:24:10

这一点:

代码语言:javascript
运行
复制
{EventEmitter} = require 'events'

等同于此JavaScript:

代码语言:javascript
运行
复制
var EventEmitter;
EventEmitter = require('events').EventEmitter;

当你类的时候,你会得到一个带有模块导出的对象,其中一个导出就是EventEmitterrequire 'events'”。使用{EventEmitter}只是将EventEmitterrequire 'events'返回的对象中拉出的惯用快捷方式;您也可以这样说:

代码语言:javascript
运行
复制
EventEmitter = require('events').EventEmitter

如果你喜欢的话。当您想要提取对象的多个部分时,带括号的版本开始派上用场;例如,如下所示:

代码语言:javascript
运行
复制
{a, b} = c

就像这样的JavaScript:

代码语言:javascript
运行
复制
var a, b;
a = c.a;
b = c.b;

现在,CoffeeScript文档的Destructuring Assignment部分可能会成为一些不错的读物。

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12648054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档