티스토리 뷰

비트 및 ( )를 포함한 모든 비트 연산자 1& 은 32 비트 정수로 작동합니다.

이 연산자는 추상 ToInt32연산 2를 사용하여 두 피연산자를 부호있는 32 비트 정수로 변환하고 값이 숫자가 아닌 경우이 변환의 결과는 0입니다.

마지막에 표현식은 다음과 같이 평가됩니다.

0 & 0; // 0

참조 :

  1. 이진 비트 연산자 ECMA-262, 3rd. Ed. 섹션 11.10

  2. ToInt32, ECMA-262 , 섹션 9.5

-------------------

& 는 비트 AND 연산자입니다 ( 논리 AND 연산자 인 && 와 반대 ). 비트 및 문자열에는 의미가 없으므로 JavaScript가 쉬운 방법을 사용하고 0을 반환한다고 가정합니다.

좀 더 기술적 인 설명이있을 수 있지만 기본적으로 당신은 무의미한 지시를하고 무의미한 결과를 얻었습니다. 오류가 발생하면 더 좋았을 텐데 JavaScript는 그런 언어가 아닙니다!

-------------------

많은 언어와 마찬가지로 JavaScript에는 비트 연산자가 있습니다. & 이것은 유사한 위치의 비트를 비교하고 둘 중 하나가 0- 인 위치에서 1 비트와 0 비트가있는 위치에서 1 비트를 반환합니다. 비트.

그리고 0을 반환하는 중요한 이유는 일치하는 비트가 없기 때문이 아니라 문자열을 지원하지 않기 때문입니다. :)

-------------------

그것은 비트 및 인수를 숫자로 캐스팅합니다. 임의의 문자열을 숫자로 캐스트하고 해당 문자열에 숫자 텍스트가 포함되지 않은 경우 결과는 NaN입니다.

어떤 이유로 NaN & NaN의 결과는 0입니다.

"2"및 "3"시도



출처
https://stackoverflow.com/questions/1905039
댓글
공지사항
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31