✍️ JavaScript의 자료형과 JavaScript만의 특성은 무엇일까?
* 암시적변환 : 암시적 변환이란 자바스크립트 엔진이 필요에 따라 자동으로 데이터타입을 변환시키는 것
* 명시적변환 : 명시적변환이란 개발자가 의도를 가지고 데이터타입을 변환시키는 것
= 대입연산자 : 우항의 값을 좌항의 변수에 대입할 때 사용하는 것
== 동등연산자 : 좌,우를 비교해서 서로 값이 같으며 true, 다르면 false
( 데이터 타입이 다르더라도 실질적으로 갖고있는 정보의 의미가 동일하다고 한다면
js는 그것을 같은 값으로 인정하는 연산자 )
=== 일치연산자 : 좌,우가 정확하게 같을 때 true, 다르면 false
Ex)
alert(1 == '1') // true
alert(1 === '1') // false
문제점
동적타입 언어는 간단한 코드를 짤 때는 편리함
하지만 프로젝트 규모가 커지면 숫자용 함수에 문자열이 들어가버리는 등 자료형이 잘못 들어감으로 인한 런타임 오류의 위험성이 커지게 됨
해결방법
불편함을 해소하기 위해 TypeScipt나 Flow 등을 사용할 수 있다
Ex)
let num;
console.log(num);
undefined
이때 undefined는 num에 우리가 직접 입력하지 않고 자동으로 할당된(명시적 할당이 필요없는)값임
Ex)
let num = null;
Console.log(num);