JavaScript
JavaScript 특성
__g__
2022. 5. 20. 18:40
JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어이다.
자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있다.
JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능하다.
따라서 변수는 어떤 순간에는 문자열일 수 있고 다른 순간에는 숫자일 수도 있다.
let hi = '안녕'
console.log(hi); // 안녕 출력
hi = 22
console.log(hi); // 22 출력
JavaScript의 문제점
런타임에 타입이 결정된다. 즉, 소스가 빌드될 때 자료형을 결정하는 것이 아니라 실행 시 결정된다.
매번 타입을 써줄 필요가 없기 때문에 프로그래머가 빠르게 코드를 작성할 수 있지만, 런타임까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 선택의 여지가 있다. 실행 도중에 변수에 예상치 못한 타입이 들어와 Type Error가 발생하는 경우가 생길 수 있다. 이러한 문제점들에서 벗어나기 위해서 Typescript를 쓰는 방법도 있다.