1.5 형변환
- 문자형으로 변환
- 문자형으로의 형 변환은 문자형의 값이 필요할 때 일어납니다.
- alert메서드는 매개변수로 문자형을 받기 때문에, alert(value)에서 value는 문자형이어야 합니다. 만약, 다른 형의 값을 전달받으면 이 값은 문자형으로 자동 변환됩니다.
- String(value) 함수를 호출해 전달받은 값을 문자열로 변환 할 수도 있습니다.
- 숫자형으로 변환
- 숫자형으로의 변환은 수학과 관련된 함수와 표현식에서 자동으로 일어납니다.
- 숫자형이 아닌 값에 나누기 /를 적용한 경우와 같이 말이죠.
- Boolean 형으로 변환
- 이 형 변환은 논리 연산을 수행할 때 발생합니다(논리 연산에 관한 내용은 뒤 챕터에서 다루고 있습니다).
- Boolean(value)를 호출하면 명시적으로 불리언으로의 형 변환을 수행할 수 있습니다.
- 불린형으로 변환 시 적용되는 규칙은 다음과 같습니다.
- 숫자 0, 빈 문자열, null, undefined, NaN과 같이 직관적으로도 “비어있다고” 느껴지는 값들은 false가 됩니다.
1.6 기본 연산자와 수학
- 거듭제곱 연산자 **
- 이항 연산자 ‘+’ 와 문자열 연결
- 단항 연산자 + 와 숫자형으로의 변환
- 할당연산자 체이닝
- 쉼표 연산자
1.7 비교 연산자
- 다른 형을 가진 값 간의 비교
- 비교하려는 값의 자료형이 다르면 자바스크립트는 이 값들을 숫자형으로 바꿉니다
- null과 undefined와 비교
- null이나 undefined를 다른 값과 비교할 땐 예상치 않은 일들이 발생합니다. 일단 몇 가지 규칙을 먼저 살펴본 후, 어떤 예상치 않은 일들이 일어나는지 구체적인 예시를 통해 살펴보도록 하겠습니다.
- 산술 연산자나 기타 비교 연산자 <, >, <=, >=를 사용하여 null과 undefined를 비교
- null과 undefined는 숫자형으로 변환됩니다. null은 0, undefined는 NaN으로 변합니다.
- 이제 위에서 살펴본 세 가지 규칙들이 어떤 흥미로운 에지 케이스(edge case)를 만들어내는지 알아봅시다. 이후, 어떻게 하면 에지 케이스가 만들어내는 함정에 빠지지 않을 수 있을지에 대해 알아보겠습니다.