我开始在TypeScript项目上使用tslint。当我查看了带斜线的源时,我注意到有时从对象中删除了键。
我进行了生产构建(本地),但未显示任何错误。这怎么可能?我在网上找不到有关此行为的信息。
之前:
this.streamsDataModelDistance = new SimpleStreamsDataModel({
polylineValueModels: polylineValueModels,
fields: this.settingsModel.fields,
commuters: distanceCommuters
});
后:
this.streamsDataModelDistance = new SimpleStreamsDataModel({
polylineValueModels,
fields: this.settingsModel.fields,
commuters: distanceCommuters
});
请注意缺少键“ polylineValueModels”。
它如何甚至可以毫无错误地编译为JavaScript?我很犹豫将其检入后备箱。
您刚刚启用了object-literal-shorthand
规则,可以在tslint.json
文件中进行设置。
{
"rules": {
"object-literal-shorthand": false
}
}
https://palantir.github.io/tslint/rules/object-literal-shorthand/
这不是错误,它是ECMAScript 2015的标准语法。
在ECMAScript 2015中,可以使用速记符号,因此不再需要关键字“功能”。
// Shorthand property names (ES2015)
var a = 'foo', b = 42, c = {};
var o = {a, b, c};
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Object_initializer
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句