JS의 데이터 형 변환과 유동적인 언어인 이유
데이터 타입
- 자바스크립트는 여러 가지 데이터 타입을 지원함
- 원시 타입 : string, Number, Boolean, null, undefined, Symbol, BigInt 등
- 객체 타입 : Object는 자바스크립트의 기본 구성 요소, 키와 값의 쌍으로 데이터를 저장함, 배열, 함수, 날짜, 정규 표현식 등도 모두 객체 타입
데이터 형 변환
- 자바스크립트는 동적 타입 언어로 변수의 데이터 타입이 스크립크 실행 중에 동적으로 변할 수 있음, 이로 인해 의도치 않은 데이터 형 변환이 일어나기도 함
- 암시적 형 변환 : 자바스크립트 엔진이 예상치 못한 방식으로 타입을 자동으로 변환하는 경우, 예를 들어 숫자와 문자열을 더하면 숫자가 문자열로 변환되는 경우
- 명시적 형 변환 : 개발자가 의도적으로 데이터 타입을 변환하는 경우, 예를 들어 Numbar(value)를 사용하여 문자열을 숫자로 변환할 수 있음
유동적인 언어
- 자바스크립트가 유동적인 언어인 이유는 주로 그 동적 타입 시스템과 느슨한 형 변환 규칙 때문임
- 동적 타입 시스템 : 변수는 선언될 때 타입이 결정되지 않으며, 다른 타입의 값으로 언제든지 변경될 수 있음
- 느슨한 형 변환 규칙 : 연산 중에 타입이 자동으로 변환되는 경우가 많아, 개발자가 명시적으로 타입을 관리하지 않아도 코드가 실행됨
전반적인 평가
- 이러한 자바스크립트의 특성들은 유연하고 쉬운 언어로 만들지만 동시에 예상치 못한 버그나 오류를 발생시킬 수 있는 가능성도 높임, 따라서 개발자는 타입 관련 문제를 인식하고 필요에 따라 명시적인 타입 변환을 적절히 사용해야 함