스파르타 (React_6기) 본캠프

2024. 07. 22. (JavaScrip 기본 문법 정리 - 형 변환)

cha123hein 2024. 7. 23. 02:07

형 변환 : 형태를 바꾸는 것으로 명시적 형변환, 암시적 형변환이 있다.

1) 암시적 형 변환 : 의도하진 않았지만 자동으로 바뀌는 것.

2) 명시적 형 변환 : 의도적으로 변경하는 것.

 

1. 암시적 형 변환

1-1. 문자열

let result = 1+"2";

console. log(result);

console. log(typeof result);

-> 결과값으로 12, string이 나온다. 숫자와 문자를 더했는데 암시적으로 숫자 1도 문자열로 바뀌어 결과값이 나온걸 볼 수 있다.

(숫자+문자열 -> 문자열로 변환)

 

let result = "1"+true;

console. log(result);

console. log(typeof result);

-> 결과값으롤 1true, string이 나온다. 문자열 + boolean(참 또는 거짓)이 만나면 문자열로 변환된다.

* {}, null, undefined + 문자 또한 문자열로 나온다.

 

1-2. 숫자

let result = 1-"2";

console. log(result);

console. log(typeof result);

-> 결과값으로 -1, number가 나온다. +를 제외한 -, *, / 는 숫자를 우선시한다.

 

2. 명시적 형 변환

2-1. Boolean

console. log (Boolean(0));

console. log (Boolean(""));

console. log (Boolean(null));

console. log (Boolean(undefined));

console. log (Boolean(NaN));

-> 위의 사항의 결과값 같은 경우 모두 false로 나온다.

 

console. log (Boolean("false"));

-> 문자열은 안에 내용에 영향을 미치지않고 빈문자가 아닌 값이 있는 경우 true가 나온다.

console. log (Boolean({}));

-> 객체는 값이 비어있을지라도 true가 나온다.

 

2-2. 문자열

let result = String(123);

console. log(typeof result);

-> 결과값 : 123, type은 string으로 나온다.

위와 같이 안에 숫자, boolean, null, underfined를 넣으면 결과값은 적은 그대로 나오지만 type은 string이다.

 

2-3. Number

let result = Number("123")

console. log(typeof result);

-> 원래는 ""로 씌어져있어 123(string) 이지만, 숫자로 변환되어 123(number)로 결과값이 나온다.