这个问题是“在TypeScript文件中需要使用严格模式吗?”的一个副本。
有一些答案,但是不清楚在TypeScript中,“use strict”语句是用来做什么的,当没有这个语句时,tsc会显示严格模式错误。
但我还是决定把它作为一个单独的问题来问。
我正在使用TypeScript 1.6,但我不清楚“use strict”语句在TypeScript中添加了什么?
使用“use strict”;语句看起来像是双重检查。 因为如果没有这个语句,tsc会显示严格模式错误。
例如:
有一些答案,但是不清楚在TypeScript中,“use strict”语句是用来做什么的,当没有这个语句时,tsc会显示严格模式错误。
但我还是决定把它作为一个单独的问题来问。
我正在使用TypeScript 1.6,但我不清楚“use strict”语句在TypeScript中添加了什么?
使用“use strict”;语句看起来像是双重检查。 因为如果没有这个语句,tsc会显示严格模式错误。
例如:
class Foo {
03;
constructor(public name:string) {
}
move(meters:number) {
let o = {p: 1, p: 2};
let a;
delete a;
alert(this.name + " moved " + meters + "m.");
}
sum(a:number, a:number, c:number):number {
var sum = 015 +
197 +
142;
var x = 17;
with (obj)
{
x;
}
[1, 2, 3, 4, 5].map(function (n) {
return !(n > 1) ? 1 : arguments.callee(n - 1) * n;
});
delete sum;
return a + b + c;
}
tsc显示:
- Error:(16, 19) TS2300:重复标识符“a”。
- Error:(24,9) TS1101:在严格模式下不允许使用“with”语句。
- Error:(8, 18) TS2300:重复标识符“p”。
- Error:(2, 5) TS1121:在严格模式下不允许使用八进制字面量。
- Error:(11, 16) TS1102:在严格模式下无法对标识符使用“delete”。
- Error:(16, 9) TS2300:重复标识符“a”。
- Error:(8, 24) TS1117:在严格模式下,对象文字不能具有多个具有相同名称的属性。
- Error:(8, 24) TS2300:重复标识符“p”。