프로그래밍 언어 문법 | |
{{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: 0 -10px -5px; word-break: keep-all" |
프로그래밍 언어 문법
C(
포인터 ·
구조체 ·
size_t) ·
C++(
자료형 ·
클래스 ·
이름공간 ·
상수 표현식 ·
특성) ·
C# ·
Java ·
Python(
함수 ·
모듈) ·
Kotlin ·
MATLAB ·
SQL ·
PHP ·
JavaScript(
표준 내장 객체) ·
Haskell(
모나드)
|
마크업 언어 문법
HTML ·
CSS
|
|
개념과 용어
함수(
인라인 함수 ·
고차 함수 ·
콜백 함수 ·
람다식) ·
리터럴 ·
상속 ·
예외 ·
조건문 ·
반복문 ·
참조에 의한 호출 ·
eval ·
네임스페이스 ·
호이스팅
|
|
기타
#! ·
== ·
=== ·
deprecated ·
NaN ·
null ·
undefined ·
배커스-나우르 표기법
|
}}}}}} |
프로그래밍 언어 목록 · 분류 · 문법 · 예제 |
1. 개요
JavaScript의 일치 연산자.[1]2. 상세
다른 프로그래밍 언어들에서는 비교 연산자가 ==인데 비해, 자바스크립트는==
(동등 연산자)와 ===
(일치 연산자)로 나뉜다. 이는 자바스크립트의 특징 때문인데, 약타입 언어인 자바스크립트에서는 1과 "1"을 비교하면 "1"을 자동으로 1로 형변환해 비교하고, 결국 1 == "1"
은 true
가 나오게 된다. 이와 비슷하게 null == undefined
도 true
로 판단되는 등 여러 문제가 많아 타입까지 비교하는 ===
의 존재가 필요하게 되었다.===
(일치 연산자)의 경우 타입까지 비교하게 되므로, 1과 "1"은 타입이 다르므로 1 === "1"
은 false
로 판단된다. 최근 들어서는 많은 스타일 가이드에서 불편한 버그가 발생하지 않는 ===
(일치 연산자)의 사용이 권장된다.부정 연산자는
!==
이다.3. 명칭
두 연산자의 정확한 명칭을 알기 힘들어 다른 이름으로 쓰이는 경우가 많은데, MDN의 문서를 보면 영어로는==
는 Equality 연산자, ===
는 Strict equality 연산자라고 소개되어 있다.
ECMA 표준에도 비슷한 이름으로 나와 있다.국내에서는 여러 명칭으로 불리고 있지만, 동등 연산자와 일치 연산자의 사용이 제일 많다.
4. 기타
==
동등 연산자의 황당함을 보여주는
밈도 존재한다. 주로
JavaScript를 까는 여타 밈과 같이 쓰이는 편.