동등연산자 eqeq

Bonggus·2021년 10월 24일
0

자바스크립트

목록 보기
9/23
post-thumbnail

동등연산자

== Equality

동등연산자를 사용하면 형변환이 일어난다(type casting). 일반적인 동등연산자를 사용할 경우 내부적으로 타입캐스팅이 일어난다.

'1' == 1 // true
1 == true  // true

=== Strict Equality

엄격한 동등연산자를 사용해서, 엄격하게 타입을 체크하는 것이 좋다.

'1' === 1  // false
1 === true // false

ESLint

lint설정을 통해 eqeq사용을 막는것도 방법이다.

형변환 주의하기

자바스크립트에서는 암묵적인 형변환이 일어난다. 암묵적이라는 것은 Number, String같은 명령어를 사용하지 않더라도, tricky한 방법을 통해 형변환을 일으킬 수 있다.

따라서, 개발중 생기는 오류를 줄이기 위해선 암묵적 형변환보단 명시적인 형변환을 해주는 것이 좋다.


11 + 'A' // 11A 문자열
!!'문자열' // true
!!'' // false
parseInt('9.999', 10) // 9

// 명시적 형변환 
String(11 + 'A') // 11A 문자열
Boolean('문자열') // true
Boolean('') // false
parseInt('9.999', 10) // 9

정리

사용자가 형변환을 하는 경우는 명시적인 형변환이다. 사용자가 아닌 자바스크립트 엔진이 만들어 내는 형변환은 암묵적인 형변환이라 한다. 타입을 변환할 때 명시적인 형변환을 해서 예측하기 쉬운 타입 변환을 해야한다.

출처

profile
프론트엔드

0개의 댓글