[typescript] 타입스크립트와 자바스크립트 사이의 타입 안전성 차이

자바스크립트와 타입스크립트는 둘 다 인기 있는 프로그래밍 언어로, 이 둘 간의 가장 큰 차이 중 하나는 타입 안전성이다.

자바스크립트의 타입 안전성

자바스크립트는 동적 타입 언어로, 변수의 데이터 타입을 선언하지 않고 사용할 수 있다. 이는 개발자가 실수로 잘못된 타입의 데이터를 변수에 할당하여 발생하는 버그를 유발할 수 있음을 의미한다.

let x = 10;
x = "hello"; // No compile-time error

위의 예제에서 x는 먼저 숫자로 초기화 되었지만, 나중에 문자열로 변경되었을 때 컴파일시 오류가 발생하지 않는다.

타입스크립트의 타입 안전성

타입스크립트는 정적 타입 언어로, 변수의 데이터 타입을 명시적으로 선언하고 컴파일 시점에 타입 체크를 수행한다. 이를 통해 개발자는 데이터 타입과 일치하지 않는 값에 의한 오류를 사전에 방지할 수 있다.

let x: number = 10;
x = "hello"; // Compile-time error: Type 'string' is not assignable to type 'number'

위의 예제에서 타입스크립트는 변수 x가 숫자 타입이라고 선언되었음에도 불구하고 문자열을 할당하려고 시도하는 오류를 컴파일 시점에 감지하여 오류를 발생시킨다.

결론

타입스크립트는 정적 타입 언어로서 자바스크립트보다 더 강력한 타입 안전성을 제공한다. 이로써 개발자는 더 안정적이고 예측 가능한 코드를 작성할 수 있게 되며, 런타임 오류를 사전에 방지할 수 있다.

참고문헌: