在对象赋值中自引用键

Self referencing a key in the object assignment

提问人:MrPickles 提问时间:10/23/2018 最后编辑:MrPickles 更新时间:10/23/2018 访问量:100

问:

因此,我在网上快速浏览了一下,没有发现有人建议我在我正在处理的代码库中看到的内容,并想知道我所看到的是否是一个好主意,或者它是否有一些我不知道的可能的副作用。

下面的示例与我使用 NOT .它或多或少是静态的(没有真正的 setter/getters)。constthis

const CSS = {
  something: '.something',
  getSomethingByAnother: another => `${CSS.something}*=${another}`,
};

module.exports = CSS;

更建议的解决方案是使用thisconst

const CSS = {
  something: '.something',
  getSomethingByAnother: function(another) {return `${this.something}*=${another}`;},
};

module.exports = CSS;
javascript 对象 这个

评论

0赞 sheng 10/23/2018
个人更喜欢变量名称,较少重构来做imothis
0赞 MrPickles 10/23/2018
谢谢,这是一个很好的观点,但是由于它已经在代码库中,因此我想要更多的东西,为什么我应该保留或重构这种风格。它有危险吗等。
0赞 sheng 10/23/2018
实际上,我给了你一个错误的答案。 在第二个示例中不会引用,而是引用父上下文,因为箭头函数保留了主范围。你必须做一些事情,比如正确使用关键词。运行第二个代码段应该会给你 .希望能有所帮助thisCSSgetSomethingByAnother(another) { return this.something... }thisundefined
0赞 MrPickles 10/23/2018
已从@ShengSlogar评论中修复this.something === undefined

答: 暂无答案