타입 변환
2024-05-23 오전 12시 20분
2024-06-23 오전 12시 20분
암시적 형 변환 (Implicit type conversion)
암시적 변환은 자바스크립트 엔진이 필요에 따라 자동으로 데이터타입을 변환시킨다.
변환값이 전혀 예상하지 못할정도기 때문에 자바스크립트 코딩간 조심해야할 녀석이다.
// 산술 연산자 (문자 연산자가 항상 우선시 된다)
number + number; // number
number + string; // string
string + string; // string
string + boolean; // string
number + boolean; // number
50 + 50; // 100
100 + '점'; // 100점
'100' + '점'; // 100점
'10' + false; // 100 ??, false값은 0으로 치환되어 100의 문자열을 만들게 된다.
99 + true; // 100. true값은 1로 치환되어 100의 숫자를 만들게 된다.
// 동치 비교
// 느슨한 비교 연산자가 기준이다. ==
null == undefined; // true. 0 == 0
'0' == 0; // true. 0 == 0
0 == false; // true. 0 == 0
'0' == false; // ture. 0 == 0
명시적 형 변환 (Explicit type conversion)
명시적 변환은 개발자가 의도를 가지고 데이터 타입을 변환시키는 것이다.
타입을 변경시키는 기본적인 방법은 Object(), Number(), toString(), Boolean()등의 함수를 사용한다.
let score = 100; //Number
Object(score); //100
console.log(score); //Number
toString(score); //"100"
console.log(score); //String
Boolean(score); //true
console.log(score); // Boolean
한가지를 확인할 수 있을텐데, 객체의 경우 따로 변환이 작동하지 않는걸 확인할 수 있다.
객체는 JSON타입으로 내용을 전송해야만 작동하기때문에, json.stringify
등을 활용해야 한다.

이러한 한정적인 타입명시때문에 일반적으로 타입스크립트
를 통해 타입을 지정하게 된다.
댓글은 포스팅에 도움이됩니다. 적극적인 의견 감사드립니다.