2010-05-22 6 views

답변

13

엄격한 유형의 항등 연산자입니다. 값이인데 두 개가 같은지 확인하는 것뿐만 아니라 유형이 인 것도 검사합니다.

if (4 === 4) // same value and type 
{ 
    // true 
} 

하지만

if (4 == "4") // same value and different type but == used 
{ 
    // true 
} 

이 객체뿐만 아니라 배열에 적용
if (4 === "4") // same value but different type 
{ 
    // false 
} 

: 당신은 숫자 나 문자열을 비교할 때

는 상황을 생각해 보자.

그래서 위의 경우에, 당신은 당신뿐만 아니라 당신은 확인하기 위해 사용

+0

이 작업을 수행하거나'typeof' 연산자를 사용할 때, 항상 * 문자열을 반환하기 때문에 필요하지 않습니다. 신속하고 철저한 답변을 주셔서 감사합니다 - 15 분이 지난 후 대답으로 설정됩니다 – ptrn

+0

@ptrn : 오신 것을 환영합니다 :) – Sarfraz

2

암시 적 형식 변환을 금지하려는 경우.

3 === '3' 

더글러스 크록 포드는 항상 엄격한 비교를 사용하는 것이 좋습니다 예를 들어이없는 반면

3 == '3' 

true입니다.

+0

솔직히 말해서 누군가가 항상 "xxx"라고 말하면 저는 조금 모호합니다. 숫자를 문자열과 비교하는 것이 바람직한 상황을 볼 수 있습니다. 분명히 숫자에 문자열을 수동으로 캐스팅 할 수 있지만 JS가 당신을 위해 그것을 할 수 있다면 왜 귀찮을까요? :) – nico

+2

@nico, 동의합니다, 당신이 간단하게 그것을 필요로하지 않는 경우가 있습니다. 일반적인 경우는 한 단계에서'null'과'undefined '를 비교할 때입니다,'if (foo == null)' (typeof foo == "undefined")'충분하다 ... – CMS

1

유형에 대해 확신 할 때 ===를 사용하는 == 또는 ===

그것은 좋은 아이디어를 사용할지 여부를 합리적인 선택을해야 변수의 값과 유형을 포함하는 변수가 비교 된 값과 동일한 경우.