首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript,未知语法

JavaScript,未知语法
EN

Stack Overflow用户
提问于 2015-07-29 07:34:59
回答 2查看 214关注 0票数 1

我使用的是库手柄表,我希望在IE8-IE9中运行我的应用程序(尽管它不是IE < 10兼容的.)。当我的代码使用minify版本时,我会在JS控制台中得到一个错误:"';‘预期的“。

这是密码。

代码语言:javascript
复制
, {
    get DEFAULT_WIDTH() {
        return 50;
    }
}

我只是不懂这个语法。"get DEFAULT_WIDTH()“是做什么的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-29 07:46:02

get语法将对象属性绑定到在查找该属性时将调用的函数。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get

在这里可以找到更为笼统和令人筋疲力尽的解释:

策划人

基本上,它允许您定义当某个对象属性是通过代码读取时会发生什么。以类似的方式,您还可以定义当代码set定义将写到该属性时应该发生什么。在这两种情况下,您都会重写该对象属性的标准行为。

这都是ECMAScript 5.1的一部分,因此在IE < 9中不可用。

您的示例代码是做什么的?

在示例代码中,可以看到每当读取属性DEFAULT_WIDTH时,都会返回一个常量值。我想这样做的目的是确保DEFAULT_WIDTH不能被重新定义为其他值(事实上它可以,但是读取它仍然会返回50)。

使用defineProperty在现有对象上定义getter 若要在任何时候将getter附加到现有对象,请使用Object.defineProperty()var o = { a:0 } Object.defineProperty(o, "b", { get: function () { return this.a + 1; } }); console.log(o.b) // Runs the getter, which yields a + 1 (which is 1) defineProperty

票数 0
EN

Stack Overflow用户

发布于 2015-07-29 07:39:55

MDN有到达文档,包括支持浏览器的列表。get所做的是在查找属性时调用函数。有关更一般的解释,请参见定义getter和setter

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

https://stackoverflow.com/questions/31694049

复制
相关文章

相似问题

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