Javascript study

[Javascript] 형 변환

카누가 좋아요 2023. 7. 4. 17:26

📌 참고 사이트

형 변환 (javascript.info)

 

형 변환

 

ko.javascript.info

 

 

 

📋 형 변환

함수와 연산자에 전달되는 값적절한 자료형으로 자동 변환되는 것을 형 변환이라고 한다.

예를 들면, alert의 경우 전달받은 값은 무조건 문자열로 자동 변환하여 보여주고, 수학 관련 연산자의 경우에는 전달받은 값을 숫자로 변환하기도 한다.

위와 같은 자동 형 변환 이외에도 의도를 가지고 원하는 타입으로 명시적으로 자료형을 변환해 주는 것도 형 변환이라고 할 수 있다.

 

이번 시간에는 객체를 제외한 원시형의 형변환에 대해서 다루어 볼 것이다.

 

 

 

📋 문자형으로 변환

➡️ alert 메서드

어떤 형의 값이 들어와도 그 값은 문자형으로 자동 변환된다.

➡️ String 함수

String(value) 함수를 호출하여 전달받은 값을 문자열로 변환하는 것도 가능하다.

 

let value = true;     
alert(typeof value);     // boolean

value = String(value);     // 변수 value에는 문자열 "true"가 저장됨.
alert(typeof value);     // string

 

 

 

📋 숫자형으로 변환

➡️ 수학과 관련된 함수와 표현식에서 자동으로 일어난다.

ex) 숫자형이 아닌 값이 / (나누기) 적용하기

➡️ Number(value) 함수

주어진 값을 숫자형으로 명시해서 변환할 수 있다.

 

<숫자형으로 변환 시 적용되는 규칙>

 

전달받은 값 형 변환 후
undefined NaN
null 0
true / false 1 / 0
string 문자열의 처음과 끝 공백 제거
공백 제거 후 남아있는 문자열이 없다면 0
공백 제거 후 남아있는 문자열이 있다면 문자열에서 숫자만 읽음
변환에 실패하면 NaN (숫자가 아닌 문자가 있을 경우)

 

alert("6" / "2");     // 3

let str = "123";   
alert(typeof str);     // string

let num = Number(str);     // 문자열 "123"이 숫자 123으로 변환
alert(typeof num);     // number

let age = Number("임의의 문자열 123");     
alert(age);     // NaN (형 변환에 실패)

alert(Number("     123     "));     // 123
alert(Number("123z"));     // NaN ("z"를 숫자로 변환하는 데 실패함.)
alert(Number(true));     // 1
alert(Number(false));     // 0

 

 

 

📋 불린형으로 변환

➡️ 불린형으로의 변환은 논리 연산을 수행할 때 발생한다.

➡️ Boolean(value)를 호출하면 명시적으로 불리언으로의 형 변환 수행이 가능하다.

→ false가 되는 값 : 숫자 0, 빈 문자열, undefined, NaN 등 (비어있다고 느껴지는 값들)

→ true가 되는 값 : false가 아닌 모든 값 (* 문자열 "0"의 경우에는 true이다. 공백 또한 비어있지 않으므로 true이다.)

 

alert(Boolean(1));     // 숫자 1 (true)
alert(Boolean(0));     // 숫자 0 (false)

alert(Boolean("hello"));     // 문자열 (true)
alert(Boolean(""));     // 빈 문자열 (false)