JavaScript 비교에는 어떤 항등 연산자(== 대 ===)를 사용해야 합니까?
P粉023650014
P粉023650014 2023-08-23 12:29:52
0
2
561
<p>JSLint를 사용하여 JavaScript를 탐색하고 있는데 <code>==</code> (두 개의 등호)를 <code>===</code> 등호) <code>if</code> 내에서 <code>idSele_UNVEHtype.value.length == 0</code> </p> <p><code>==</code>를 <code>===</code>로 바꾸면 성능상 이점이 있나요? </p> <p>비교 연산자가 많기 때문에 성능이 향상되면 좋겠습니다. </p> <p>유형 변환 없이 <code>==</code>에 비해 성능이 향상됩니까? </p>
P粉023650014
P粉023650014

모든 응답(2)
P粉336536706

== 연산자 사용(Equal)

으아아아

=== 연산자(Identity) 사용

으아아아

이것은 항등 연산자 ==가 유형 캐스트를 수행하기 때문입니다. 이는 해석기가 비교하기 전에 암시적으로 값 변환을 시도한다는 것을 의미합니다.

반면에 식별 연산자===는 형 강제를 하지 않기 때문에 비교할 때 값이 변환되지 않습니다.

P粉178894235

엄격 항등 연산자(===) 的行为与抽象相等运算符 (==)는 유형 변환이 수행되지 않는다는 점을 제외하면 동일하며, 동일한 것으로 간주되려면 유형이 동일해야 합니다.

참조: JavaScript 튜토리얼: 비교 연산자

== 运算符将在进行任何必要的类型转换后比较是否相等。 === 运算符不会进行转换,因此如果两个值不是同一类型,=== 将简单地返回 . 둘 다 똑같이 빠릅니다.

Douglas Crockford의 위대한 JavaScript: The Good Parts一个>,

의 인용문

업데이트

@Casebash의 댓글과 @Phillipe Laybaert의 객체에 대한 답변. 객체의 경우 ===== 서로 일관되게 동작합니다(특별한 경우 제외).

으아아아

특별한 경우는 toStringvalueOf 方法。例如,考虑将字符串基元与使用 String 생성자에 의해 생성된 문자열 개체로 인해 동일한 기본 요소로 평가되는 개체와 기본 요소를 비교할 때입니다.

으아아아

여기 == 运算符检查两个对象的值并返回 true,但是 === 看到它们类型不同并返回 false。哪一个是正确的?这实际上取决于您要比较的内容。我的建议是完全绕过这个问题,只是不要使用 String 생성자는 문자열 리터럴에서 문자열 객체를 생성합니다.

참고
https://262.ecma-international.org/5.1/#sec-11.9 .3

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!