>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 '[[]][ []] [ []]'가 '10'으로 평가되는 이유는 무엇입니까?

JavaScript에서 '[[]][ []] [ []]'가 '10'으로 평가되는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-20 21:25:19484검색

Why Does

JavaScript 퍼즐 풀기: " [[]][ []] [ []]"

JavaScript에서 " [[]][ []] [ []]"는 처음에는 당황스러워 보일 수 있지만 자세히 살펴보면 궁극적으로 문자열을 반환하는 일련의 작업을 알 수 있습니다. "10."

표현을 분석하면 다음과 같습니다.

  • [[]][ []] [ []]

해부해 보겠습니다. 표현 단계별:

1. []:

JavaScript에서 []는 빈 배열 []을 숫자로 강제 변환하여 결과가 0이 됩니다. 이는 피연산자를 숫자 유형으로 변환하는 단항 연산자의 동작 때문입니다. .

2. [[]][ []]:

이 표현식은 외부 배열 [[]]의 내부 배열([])을 반환합니다.

3. [[]][ []]:

연산자는 피연산자의 값을 1만큼 증가시킵니다. 따라서 이 연산은 잘못된 값인 내부 배열([)])을 증가시킵니다. JavaScript에서 잘못된 값을 증가시키면 1이 반환됩니다.

4. [ []]:

[]와 유사하게 이 표현식은 빈 배열 []을 숫자로 강제 변환하여 다시 0이 됩니다.

5. 1 0:

이제 더할 두 개의 숫자가 있습니다. 1은 증분된 내부 배열에서, 0은 두 번째 빈 배열 강제 변환에서 가져온 것입니다. 결과는 1.

6. 1 [0]:

흥미롭게도 JavaScript에서 [0]은 진실이며 문자열 "0"으로 평가됩니다. 문자열과 숫자를 연결할 때 JavaScript는 숫자를 문자열로 강제 변환합니다. 따라서 이 연산은 "10"을 산출합니다.

따라서 겉보기에 수수께끼처럼 보이는 표현식 " [[]][ []] [ []]"는 일련의 유형 변환 및 연결로 풀려 궁극적으로 " 문자열을 반환합니다. 10."

위 내용은 JavaScript에서 '[[]][ []] [ []]'가 '10'으로 평가되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.