tar*_*lah 2 javascript ecmascript-6 redux-actions
我来越过这个redux-actions教程,我注意到一个不寻常的语法来创建一个对象方法:
const stringArray = ["STRING_ARRAY"];
const strangeObject = {
[stringArray]() {
console.log(stringArray);
}
};
Run Code Online (Sandbox Code Playgroud)
有人可以命名或解释正在使用的语法功能吗?
Axn*_*yff 10
这是两个功能的混合ES6.
您可以在对象中具有计算属性:
const b = "foo";
const a = {
[b]: true
};
// same as
const a = {};
a[b] = true;
Run Code Online (Sandbox Code Playgroud)
还有一个功能的简写:
const a = {
b() { console.log("foo");}
};
// same as
const a = {
b: function() { console.log("foo");}
};
Run Code Online (Sandbox Code Playgroud)
如果你混合使用两者,你得到的就是你的名字:一个名字是计算值的方法.在这里你的对象将是相同的
const strangeObject = {
STRING_ARRAY: function() {
console.log("STRING_ARRAY");
}
};
Run Code Online (Sandbox Code Playgroud)
只要对象的计算值不是字符串(如您的情况),它就会转换为字符串.
在你的情况下
["STRING_ARRAY"].toString() === "STRING_ARRAY"
Run Code Online (Sandbox Code Playgroud)
所以它没有太大变化.
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |