奇怪的 JavaScript 对象语法

Strange JavaScript Object syntax

我最近在一个名为 WebApp.net 的图书馆看到了这个:

var $h = {
    get HEAD() { return 0 },
    get BACK() { return 1 },
    get HOME() { return 2 },
    get LEFT() { return 3 },
    get RIGHT() { return 4 },
    get TITLE() { return 5 }
};
var $d = {
    get L2R() { return +1 },
    get R2L() { return -1 }
};

我对JS很熟悉,但这似乎没有意义。 Chrome 将其解释为带有 $h.HEAD 的对象,其他设置为 return 之后的数字。此外,getter 之类的东西也是 $h 的一部分。

任何人都可以给我更多关于这方面的信息吗? IE 无法解释这个,所以我必须做一个等价的。

您找到了 getters

当您读取对象的 属性 时,您可以使用 getter 执行函数。这也是一种对对象属性提供一些保护的方法,您不能直接更改 getter 的值。

Getters 和 setters 自 IE9 以来也在 IE 中实现。