TIL 05 | 형 변환 (Type conversion) 연산

CHAEIN·2021년 6월 15일
0

JavaScript

목록 보기
5/31

다른 언어의 경우 데이터 타입이 다르면 연산이 불가능하지만 자바스크립트는 자동 형변환으로 서로 다른 데이터 타입을 일치시켜 연산한다.

형 변환의 산술연산 (+, -, *, /, %, **)

console.log(4 + '2') // 42, 숫자 + 문자열은 문자열 + 문자열로 변환되어 이루어진다. 
console.log(4 + 2) // 6
console.log(4 - true) // 3
console.log(4 * false) // 0 , true는 1, false는 0으로 변환되어 계산된다. 
console.log(4 / '2') // 2, 숫자 / 문자열은 숫자 / 숫자로 변환되어 계산된다.
console.log('4' ** true) // 4, 문자열 ** 불린값은 숫자처럼 계산된다.
console.log(4 % 'two') // NaN

형 변환의 관계 비교 연산 (<, <=, >, >=)

console.log(2 < '3') //true 2 < 3
console.log(2 > true) //true, 2 > 1
console.log('2' <= false) //false , 2 <= 0
console.log ('two' >= 1) //false, NaN >= 1

형 변환의 같음 비교 연산 (===, !==, ==, !=)

===,!== 는 일치, 불일치 ==,!= 는 동등, 부등이라고 한다.
일치비교는 형변환이 일어나지 않지만 동등 비교는 형변환이 일어난다.
코드가 조금만 복잡해져도 두 값을 비교할때 동등 비교를 사용하면 예상치 못한 형변환이 일어날 수 있기 때문에 일치 비교 연산자를 사용할 것을 권장한다.

console.log(1 === '1') // false
console.log(1 === true) // false
console.log(1 == '1') // true 
console.log(1 == true) // true

0개의 댓글