함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환됩니다. 이러한 과정을 "형 변환(type conversion)"이라고 합니다.
하지만 이 외에, 전달받은 값을 의도를 갖고 원하는 타입으로 명시적 변환하는것 역시 형 변환이라고 할 수 있습니다.
String(value)
함수를 호출해 인자로 전달받은 값을 문자형으로 변환 할 수 있습니다.
let value = true;
console.log(value, typeof (value));
value = String(value);
console.log(value, typeof(value))
숫자형으로의 변환은 수학과 관련된 함수와 표현식에서 자동으로 발생합니다.
예시로 아래와 같이 숫자형이 아닌 값에 나누기 연산을 적용한 경우에 자동으로 문자형에서 숫자형으로 형변환이 발생합니다.
console.log('6' / '3');
혹은 Number(value)
함수를 호출해 인자로 전달받은 값을 숫자형으로 변환 할 수 있습니다.
let age = "22";
console.log(age, typeof (age));
age = Number(age);
console.log(age, typeof(age))
불린형 변환은 논리 연산을 수행할 때 발생합니다.
Boolean(value)
함수를 호출하면 명시적으로 불린으로의 형 변환을 수행할 수 있습니다.
불린형으로 변환 시 적용되는 규칙은 다음과 같습니다.
false
: 숫자 0
, 빈 문자열, null
, undefined
, NaN
true
: false
에 해당하지 않는 나머지 값console.log(Boolean(1) ); // true
console.log(Boolean(0) ); // false
console.log(Boolean("hello") ); // true
console.log(Boolean("") ); // false