찾다

 >  Q&A  >  본문

자바스크립트 + 연산자

콘솔의 js

++[[]][0] 为什么这个不报错
++[] 이 오류 보고서는 어디에 있나요

我想大声告诉你我想大声告诉你2787일 전436

모든 응답(2)나는 대답할 것이다

  • 迷茫

    迷茫2017-05-19 10:22:53

    ++[[]][0]:
    [[]]는 빈 배열만 포함하는 배열이며, 연산자 우선순위에 따라 < code >[] > (접두사)++, [[]][0]를 연산하고 빈 배열 Array(0)을 얻습니다. 배열의 값인 객체++[[]][0]:
    [[]]是一个只包含一个空数组的数组,那么根据运算符优先级,[] > (prefix)++,运算[[]][0],得到一个空数组Array(0),是一个对象,并且是数组中的一个值,符合左值的条件.之后进行(prefix)++运算,由于++运算将执行数据类型转换(PS:Javascript中具体的数据类型转换太复杂了,我就不展开了),这里Array[0]将转换成0,结果++得到1.

    具体可看控制台输出:

    console.log([[]])
    // > [Array(0)]
    console.log([[]][0])
    // > []
    

    ++[]and는 lvalue

    의 조건을 충족합니다. 그러면 ++가 있으므로 (prefix)++ 작업이 수행됩니다. 작업은 데이터 유형 변환을 실행합니다(PS: Javascript의 특정 데이터 유형 변환은 너무 복잡하므로 확장하지 않겠습니다). 여기서 Array[0]0<으로 변환됩니다. /code>, 결과는 ++Get 1입니다.

    자세한 내용은 콘솔 출력을 참조하세요. 으아아아

    ++[]:
    Lvalue

    는 유효한 lvalue가 아닌 빈 배열이므로 오류가 보고됩니다.

    🎜왼쪽 값🎜이란 무엇인가요?:🎜 🎜🎜Lvalue는 표현식이 대입 연산자의 왼쪽에만 나타날 수 있다는 의미를 지닌 오래된 용어입니다. JavaScript에서는 변수, 개체 속성 및 배열 요소가 모두 lvalue입니다.🎜🎜

    회신하다
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:22:53

    이 질문에 이전에 답변했으며 링크를 직접 게시했습니다:

    js 유형 변환 문제

    회신하다
    0
  • 취소회신하다