programing

TypeScript 파일에 "엄격 사용"이 필요합니까?

testmans 2023. 3. 6. 20:49
반응형

TypeScript 파일에 "엄격 사용"이 필요합니까?

TypeScript 코드 파일에서 "엄격한 사용" 행을 어디에 넣어야 하는지에 대한 게시물을 보았습니다.제 질문은, 도대체 왜 가지고 있는 걸까요?

TypeScript는 이미 강력한 입력 언어이기 때문에 "엄격 사용"은 무엇을 추가합니까?

갱신

  • TypeScript 1.8+:"use strict";모듈로 출력됩니다(자세한 내용은 참조).
  • TypeScript 2.1+:--alwaysStrict컴파일러 옵션은 모든 파일을 엄밀한 모드로 해석하여 내보냅니다."use strict"출력되는 모든 파일의 맨 위에 표시됩니다(자세한 내용은 읽기).

TypeScript의 테스트에서 "엄격한 모드"를 검색하면 몇 가지 예를 찾을 수 있습니다.

다음은 컴파일 시간 오류를 발생시키는 코드 예시입니다."use strict";:

// future reserved keyword not allowed as variable name
var let,
    yield,
    public,
    private,
    protected,
    static,
    implements;

// "delete" cannot be called on an identifier
var a;
delete a;

// octal literals not allowed
03;

또 몇 가지 예가 있습니다."use strict";실행 시에만 오류가 발생합니다.예를 들어 다음과 같습니다.

"use strict";
delete Object.prototype;

개인적으로 TypeScript에서 실수를 방지하는 데 도움이 되지 않고 파일에 노이즈가 더해져 쓸 필요가 없습니다.즉, TS 2.1부터, 이 기능을 유효하게 합니다.--alwaysStrict컴파일러 옵션은 코드 유지 보수 오버헤드 없이 약간의 엄격함을 추가하기 때문입니다.

돈으로는, 그래"use strict";를 TypeScript 파일에 포함해야 합니다.

컴파일 시간 효과 무시"use strict";TypeScript에서는 생성된 JavaScript가 실행되면 런타임에 영향이 있을 수 있습니다.

  • MDN은 박스를 회피하기 위한 퍼포먼스 향상을 특정합니다.this기능 호출 및 의 삭제function.caller그리고.function.arguments특성.

  • Mozilla의 Jeff Walden씨도 이 답변에서 퍼포먼스 향상의 기회를 시사하고 있습니다.

언급URL : https://stackoverflow.com/questions/31391760/use-strict-needed-in-a-typescript-file

반응형