8. 형변환

Chipmunk_jeong·2021년 2월 15일
0

TIL

목록 보기
8/62
post-thumbnail

이 블로깅은 모던 JavaScript 튜토리얼을 공부하며 적는 글입니다.
모던 JavaScript 튜토리얼

함수나 연산자에 전달되는 값은 대부분 적절한 자료형으로 형변환이 된다.

문자형으로 변환

String(value);

String메서드에 값을 넣어주면 기본적으로 형변환이 가능하다.
하지만 문자형의 경우는 문자형과 다른 타입을 더하는 연산을 할때도 일어난다. 예를들어

let str ='45';
let num  = 45;
console.log(str + num); // '4545';

위와 같이 문자열 45와 숫자 45를 더하면 그 결과값은 문자열 4545가 나온다.
문자열에서 더하는 연산자는 앞의 문자열에 뒤의 문자열을 붙여준다.

그리고 DOM을 제어할때 input등 값을 들고오면 문자열로 변환되어 들고와진다.

숫자형으로 변환

숫자형은 수학과 관련된 표현식에서 자동으로 변환이 된다.
+를 뺀 나머지 연산자들은 숫자형에서 가능한 연산이기 때문에
자동으로 숫자형으로 형변환 되어 사용된다.

console.log('6' / '3'); // 2(number)
console.log(true * true); // 1(number)

위와 같이 문자열과 문자열을 나눴을때와
불린형 끼리 곱하였을 때 등등 그 결과값은 숫자형이 나오게 된다
그리고 명시적 형변환은

Number(value)를 하였을 때 value값을 숫자형으로 명시해서 변환을 할 수 있다.

또한, 숫자가 아닌값을 숫자로 변환을 할 때 NaN(Not A Number)라는 Number타입의 특수한 값이 나온다.

let age = '열살';
Number(age) // age = NaN;

불린형으로 변환

이 형 변환은 논리 연산을 수행할 때 발생합니다.
여기서 우린 크게 falsey한 값과 truthy한 값이 있는데
falsey한값은 8개가 있고 그 나머지는 truthy한 값이다.

falsey한 값
false, 0, " ", null, undefined, NaN, -0, 0n

truthy한 값은 위를 제외한 나머지

어떠한 연산식에 데이터형이 들어갔을때 true와 false로 대체될 수 있고, 그를 대표하는 값들이 위의 값들이다.

if(0); // false
if(1); // true
if(null); // false
if(NaN); // false
if('hello'); // true
profile
Web Developer

0개의 댓글