javascript - [1] == [1] 이것은 거짓인가요, 사실인가요?
伊谢尔伦
伊谢尔伦 2017-05-19 10:44:27
0
6
2005

[1] == [1] 인쇄된 값의 개수가 거짓입니다.

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(6)
过去多啦不再A梦

비교 연산자 중 동등 연산자에 대한 자세한 소개는 다음과 같습니다.

EQUAL(==)

비교 연산자는 서로 다른 두 가지 유형의 피연산자의 유형을 변환한 다음 엄격한 비교를 수행합니다. 두 피연산자가 모두 개체인 경우 JavaScript는 내부 참조를 비교하고 해당 참조가 메모리의 동일한 개체(영역)를 가리키는 경우, 즉 스택 메모리의 참조 주소가 동일한 경우에만 동일합니다.

위에 언급된 모든 내용은 정확합니다. 왜냐하면 [1] == [1]에서 두 배열은 서로 다른 객체이므로 동일하지 않기 때문입니다.

刘奇

JavaScript中,数组是Object
这一语句通过字面量创建了两个Array, 그것들은 서로 다른 객체이므로 동일하지 않습니다.

阿神

2 배열 개체는 동일한 개체가 아닙니다.

洪涛

비교된 값이 기준값인 경우, 여기의 [1]과 [1]은 두 값이 동일한 객체인지 비교하므로 거짓입니다

習慣沉默

Ecma-262.pdf
7.2.13 추상 평등 비교
已经明确说明了,这里的 [1] = [1] 实际是 [1] === [1] 正好试用第一条。


x와 y가 값인 x == y 비교는 true 또는 false를 생성합니다. 이러한 비교는 다음과 같이 수행됩니다.

  1. Type(x)가 Type(y)와 동일하면 a. 엄격한 평등 비교 x === y를 수행한 결과를 반환합니다.

  2. x가 null이고 y가 정의되지 않은 경우 true를 반환합니다.

  3. x가 정의되지 않고 y가 null이면 true를 반환합니다.

  4. Type(x)가 Number이고 Type(y)가 String이면 비교 결과 x == ToNumber(y)를 반환합니다.

  5. Type(x)가 String이고 Type(y)가 Number인 경우 비교 결과를 ToNumber(x) == y로 반환합니다.

  6. Type(x)가 Boolean인 경우 비교 결과를 ToNumber(x) == y로 반환합니다.

  7. Type(y)가 Boolean이면 비교 결과 x == ToNumber(y)를 반환합니다.

  8. Type(x)가 문자열, 숫자 또는 기호이고 Type(y)가 객체인 경우 비교 결과를 반환합니다. x ==
    ToPrimitive(y).

  9. Type(x)가 Object이고 Type(y)가 String, Number 또는 Symbol인 경우 비교 결과를 ToPrimitive(x)
    == y로 반환합니다.

  10. 거짓을 반환합니다.

伊谢尔伦

객체 유형은 메모리 주소를 비교하므로 거짓입니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿