Этот вопрос является копией "Использовать Strict" , необходимой в файле TypeScript?
Есть несколько ответов, но не ясно, что означает "использовать строгий" оператор в TypeScript, когда tsc обучает мне строгие ошибки режима без этого утверждения.
Но решил спросить, как разделить вопрос, хорошо.
Я использую TypeScript 1.6 и для меня непонятно, что означает "использовать строгий" оператор add в 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 показывает мне:
- Ошибка: (16, 19) TS2300: Дублировать идентификатор 'a'.
- Ошибка: (24, 9) TS1101: инструкции "с" не допускаются в строгом режиме.
- Ошибка: (8, 18) TS2300: Дублирующий идентификатор 'p'.
- Ошибка: (2, 5) TS1121: Октальные литералы запрещены в строгом режиме.
- Ошибка: (11, 16) TS1102: "delete" не может быть вызван в идентификаторе в строгом режиме.
- Ошибка: (16, 9) TS2300: Дублировать идентификатор 'a'.
- Ошибка: (8, 24) TS1117: Литеральный объект не может иметь несколько свойств с тем же именем в строгом режиме.
- Ошибка: (8, 24) TS2300: Дублирующий идентификатор 'p'.