자바스크립트 기본(타입 변환)

김보현·2021년 9월 4일
0

자바스크립트

목록 보기
3/11
post-custom-banner

Type Conversion, Coercion

Type Conversion

자바스크립트는 타입 converison이 된다.

예를 들어

const birthYear = 1998;
const name = 'Bo Hyeon '
console.log(name+birthYear)

위의 코드가 출력하는 것은 무엇일까?

바로 Number타입은 birthYear을 String타입으로 바꾼 문자열 'Bo Hyeon 1998'이 출력된다.

String Data 값의 conversion은 String 값과 +연자를 사용하면 되지만 다른 data type으로 conversion하려면 어떻게 해야할까?

바로 primitive type의 생성자에 파라미터로 넘기면 된다

const year = '2021' // String type
console.log(typeof Number(year)); // Number 출력

위처럼 Number생성자에 넘기고 typeof를 찍어보면 Number가 출력될 것이다.

이 때 conversion이 안되는 값을 파라미터로 넘기면 어떻게 될까?

const name = 'Bo Hyeon';
console.log(typeof Number(name)); // NaN

위와 같은 경우는 NaN, 즉 Not a Number가 출력될 것이다.

즉 String 데이터를 Number데이터로 Conversion 할 수 없다는 것이다.

Type Coercion

Type Coercion (강제)

자바스크립트에서 서로 자료형이 다른 value끼리 연산을 시키면 어떻게 될까?

이때는 자바스크립트가 이면에서 type coercion을 한다.

위에서

const birthYear = 1998;
const name = 'Bo Hyeon '
console.log(name+birthYear)

도 정확히 말하면 자바스크립트가 이면에서 birthYear을 Number에서 String으로 type coercion, 즉 강제 한 것이다.

profile
안녕하세요 김보현입니다.
post-custom-banner

0개의 댓글