가능한 중복 : 제목 상태로
Javascript === vs == : Does it matter which “equal” operator I use?JavaScript 사용 === 연산자 체크인은 언제입니까?
; JavaScript를 사용할 때 ===
운영자 확인을 사용해야하는시기와 사용하지 않을시기를 결정해야합니다.
편집 : 더 완전한 대답은 here입니다. Mark Byers에게 지적 해 주셔서 감사합니다.
_L
가능한 중복 : 제목 상태로
Javascript === vs == : Does it matter which “equal” operator I use?JavaScript 사용 === 연산자 체크인은 언제입니까?
; JavaScript를 사용할 때 ===
운영자 확인을 사용해야하는시기와 사용하지 않을시기를 결정해야합니다.
편집 : 더 완전한 대답은 here입니다. Mark Byers에게 지적 해 주셔서 감사합니다.
_L
엄격한 유형의 항등 연산자입니다. 값이인데 두 개가 같은지 확인하는 것뿐만 아니라 유형이 인 것도 검사합니다.
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
}
: 당신은 숫자 나 문자열을 비교할 때
는 상황을 생각해 보자.그래서 위의 경우에, 당신은 당신뿐만 아니라 당신은 확인하기 위해 사용
암시 적 형식 변환을 금지하려는 경우.
3 === '3'
더글러스 크록 포드는 항상 엄격한 비교를 사용하는 것이 좋습니다 예를 들어이없는 반면
3 == '3'
는 true
입니다.
솔직히 말해서 누군가가 항상 "xxx"라고 말하면 저는 조금 모호합니다. 숫자를 문자열과 비교하는 것이 바람직한 상황을 볼 수 있습니다. 분명히 숫자에 문자열을 수동으로 캐스팅 할 수 있지만 JS가 당신을 위해 그것을 할 수 있다면 왜 귀찮을까요? :) – nico
@nico, 동의합니다, 당신이 간단하게 그것을 필요로하지 않는 경우가 있습니다. 일반적인 경우는 한 단계에서'null'과'undefined '를 비교할 때입니다,'if (foo == null)' (typeof foo == "undefined")'충분하다 ... – CMS
유형에 대해 확신 할 때 ===
를 사용하는 ==
또는 ===
그것은 좋은 아이디어를 사용할지 여부를 합리적인 선택을해야 변수의 값과 유형을 포함하는 변수가 비교 된 값과 동일한 경우.
예 실제로 그걸 링크 해 드리겠습니다. – ptrn