我想要一个计算属性名称。我看到你可以在 ES6 中使用这个。但应该兼容IOS Webview。所以我不能使用ES6。还有
计算出的名称在循环内将始终相同,如果这对某人来说更容易的话。
有任何想法吗?
var today = moment().format('DD.MM.YY');
for (var i = 0; i < 5; i++) {
initialData.push(
{
dates: {
"01.01.01": false
// instead of 01.01.01 i would like to have the value of today as the key
}
}
)
}
如果你碰巧有完整的 ES6+ 语法的代码,例如计算属性名称,并且你想让它兼容 ES5,到目前为止最简单的方法是使用像这样的转译器Babel https://babeljs.io/repl/为你做自动地。这将允许您以该语言的最新且最易读的版本编写源代码,同时允许过时的浏览器理解转译的代码,without不得不自己去搞乱丑陋而冗长的 ES5 语法。
例如,如果您的源代码如下所示,您希望兼容 ES5:
const prop1 = 'foo';
const prop2 = 'bar';
const prop3 = 'baz';
const obj = {
[prop1]: 'val1',
[prop2]: 'val2',
[prop3]: 'val3',
};
console.log(obj);
You can 通过 Babel 运行它 https://babeljs.io/repl/ and 自动地获取ES5版本:
"use strict";
var _obj;
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
var prop1 = "foo";
var prop2 = "bar";
var prop3 = "baz";
var obj = ((_obj = {}),
_defineProperty(_obj, prop1, "val1"),
_defineProperty(_obj, prop2, "val2"),
_defineProperty(_obj, prop3, "val3"),
_obj);
console.log(obj);
转译的代码可能看起来有点难看,但大多数时候,您甚至不需要查看它,只需将其提供给客户端,它就会工作,即使在 Internet Explorer 等过时的环境中也是如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)