TypeScript
[TypeScript] TS와 JS+엄격모드 차이점, 공통점
hans-j
2023. 3. 15. 03:12
자바스크립트로 코드 짜는데 ... 타입스크립트 잘못썼으니까 고치라고 에러가 엄청 떠서 참 애를 먹었다..참나... 저 좀 내버려두세요!
배포할 때 자바스크립트에 엄격모드를 적용하는데
이때 에러 고치면서 타입스크립트 빨리 배우고싶다는 마음이 간절했음..
드디어 타입스크립트를 배우고있는데 갑자기 궁금해서 찾아본..
자바스크립트 엄격모드와 타입스크립트의 공통점과 차이점...
공통점
- 코드 작성 시 더 엄격한 문법 규칙을 적용하여 오류 발생 가능성을 줄인다.
- 기존에는 무시되었던 몇 가지 오류들이 예외를 발생시킨다.
차이점
- 엄격 모드는 자바스크립트에서만 사용되며, 타입스크립트에서는 타입 체크를 사용하여 더 안정적인 코드를 작성함
- 엄격 모드는 코드 내에 use strict 구문을 추가하여 사용하며, 타입스크립트는 파일의 확장자를 .ts로 설정하여 사용함
- 엄격 모드는 변수 할당, 함수 선언 등의 문법 규칙을 엄격하게 적용하며, 타입스크립트는 변수의 타입,
함수의 인자 타입 등을 명시하여 타입 체크를 수행한다.
// JavaScript의 엄격 모드
'use strict';
// 8진수 표현이 불가능.
let num = 010;
console.log(num); // Uncaught SyntaxError: Octal literals are not allowed in strict mode.
// TypeScript의 타입 체크
// 8진수 표현이 불가능.
let num: number = 010;
console.log(num); // TS1035: (TS) Built-in ECMAScript feature
//'octal literals' implicitly has type 'any'
//because it does not have a type annotation
//and is referenced directly or indirectly in its own initializer.
또 하나 알게 된 충격적인 사실...
타입스크립트에도 엄격 모드가 있단다.. 얼마나 엄격할지..
GPT한테 물어봄
https://maxoid.io/what-is-strict-mode-in-typescript-and-why-and-when-you-should-use-it/
사실이었다..대박..(GPT는 가끔 입만 열면 거짓말만 술술 할 때가 있어서 사실확인 필수다.)