[Javascript] 형 변환

BBaeng·2022년 11월 20일
0

Javascript

목록 보기
1/1

형 변환

함수에 전달되는 값은 적절한 자료형으로 변환해야합니다. 그렇기 위해 Javascript 말고도 다른 언어들도 형변환이 중요합니다.

문자형 변환

예를 들어 alert와 같은 매개변수로 문자형을 받기 때문에 값들을 받을 때 문자형으로 변환이 필요합니다.

let value = null;
alert(typeof(value)); // object;

value = String(value)
alert(typeof(value)); // string;

위와 같이 String(value) 함수를 호출하여 전달받은 값을 문자열로 반환할 수 있습니다.

숫자형 변환

Javascript에서 숫자형 변환은 수학과 관련된 함수 및 표현식에서 자동으로 일어납니다.

// 1.
console.log(typeof("6"/"2")); // number

// 2.
let str = "123";
console.log(typeof(str)); // string
let num = Number(str);
console.log(typeof(num)); // number

위의 1번 예시를 보면 수학과 관련된 연산을 통해 문자열이 숫자열로 자동변환되어 연산이 수행되는 것을 알 수 있습니다.

위의 2번 예시는 함수를 이용해 숫자로 바꾸어주는 예시입니다.Number() 함수를 사용해 주어진 값을 숫자형으로 명시하여 변환할 수 있습니다.

하지만 Number() 함수를 통해 문자열을 숫자형으로 변환하려하는데 숫자 이외의 글자가 들어 있스면 다음의 3번 예시와 같이 결과가 NaN이 됩니다.

let value = Number('숫자형으로 변환 123');
console.log(value); // NaN
console.log(typeof(value)); // number

다음은 숫자형 변호나이 되는 예시입니다. (이후 추가 예정)

console.log(Number("  123  "));		// 123
console.log(Number("123z"));		// NaN ( 'z'는 숫자 변환이 실패함.)
console.log(Number(undefined));		// NaN
console.log(Number(true));			// 1
console.log(Number(false));			// 0
console.log(Number(null));			// 0

예외 : 숫자형 변환 시 undefinded는 0이 아니라 NaN 이 됩니ㅏㄷ.

불린형 변환

논린 연산을 수행할 때 발생합니다.

Boolean(value)를 호출하면 불리언으로의 형 변환을 수행할 수 있습니다.

  • false : 0, null, undefined, NaN, ""
  • true : 그외의 값들.
console.log(Boolean(1));			// true
console.log(Boolean(0));			// false
console.log(Boolean(undefined));	// false
console.log(Boolean(NaN));			// false
console.log(Boolean(null));			// false
console.log(Boolean(""));			// false
console.log(Boolean("123"));		// true
console.log(Boolean("0"));			// true
console.log(Boolean(" "));			// true

예외 : 마지막 예시를 보았을 때 Javascript에서는 문자열 "0" 또는 " "(공백이 존재하는 문자열)은 true 입니다

위와 같은 형변환의 규칙들과 예외들을 어느정도 기억하고 있어야 실무에서도 놓치는 부분 없이 시간을 단축해 프로그래밍을 할 수 있습니다.

~~예외들은 프로그래밍하면서 생기는 대로 추가할 예정입니다.
~~

참고자료

0개의 댓글