get(){}和get:function(){}之间有区别吗?

时间:2017-05-31 16:51:16

标签: javascript

所以是的,对象中get() {}get: function() {}声明之间是否存在差异,或者这完全是两件不同的事情?

实际上我不能让get: function() {}工作,就像一个简单的方法,但也是一个吸气剂。

所以也许问题听起来像是:get: function() {}是什么?

感谢。

UPD:http://take.ms/h6xII - 这就是我所说的。

2 个答案:

答案 0 :(得分:2)

实际上没有,一个版本是新的shorthand in es6

var someObject = {
    get() {
    }
};

实际上与

几乎相同
var someObject = {
    get: function() {
    }
};

它们都是方法定义,它只是新速记符号的一部分

<强>更新

在看到截图后我稍微更新了答案。 p&amp;的getter / setter之间的差异s是因为ps中添加了// property getter/setter through object initializer var p = { _x: 5, get x() { return this._x; }, set x(v) { this._x = v; } }; // get/set function through defineProperty var s = { _y: 10 }; Object.defineProperty( s, 'y', { get() { return this._y; }, set(v) { this._y = v; } }); p.x = 10; s.y = 20; console.log(p); console.log(s);,而在 find("img[src*='photo03.jpg']").click 中通过object initializer方法添加了expect(page).to have_css("img[src*='photo03.jpg']")

我添加了一个小例子,它应该在控制台内部显示与您显示的屏幕截图类似的输出(如果你在chrome上运行它,在firefox上它看起来略有不同;)

UIFileSharingEnabled

答案 1 :(得分:0)

我假设您使用第一个示例作为函数get() {}而第二个示例作为对象使用

var obj = {
   get: function() {}
};

上述与

之间唯一的主要区别
var obj = {
  get() {}
};

第二个是es6中的简写,它们都是函数表达式。