Javascript study
[Javascript] 형 변환
카누가 좋아요
2023. 7. 4. 17:26
📌 참고 사이트
형 변환
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)