반응형
00.0으로 인해 구문 오류가 발생하는 이유는 무엇입니까?
이상 해요. 이것은 Chrome의 JavaScript 콘솔 (버전 42.0.2311.135, 64 비트)에서 발생합니다.
> 0
< 0
> 00
< 0
> 0.0
< 0
> 00.0
X Uncaught > SyntaxError: Unexpected number
Firefox 37.0.2는 오류 메시지가 다음과 같지만 동일합니다.
SyntaxError: missing ; before statement
JavaScript가 숫자를 구문 분석하는 방법에 대한 기술적 설명이있을 수 있으며 콘솔 프롬프트에서 땜질 할 때만 발생할 수 있지만 여전히 잘못된 것 같습니다.
왜 그럴까요?
표현식 0.0
과는 00.0
다르게 구문 분석됩니다.
0.0
숫자 리터럴 1 로 구문 분석됩니다.00.0
다음과 같이 구문 분석됩니다.00
– 8 진수 리터럴 2.
– 속성 접근 자0
– 식별자 이름
0
유효한 JavaScript 식별자가 아니기 때문에 코드에서 구문 오류가 발생 합니다. 다음 예제 toString
는 유효한 식별자 이므로 작동 합니다.
00.toString
1 섹션 7.8.3 – 선행 0 뒤에 소수점 구분 기호 또는 ExponentPart
2 섹션 B.1.1 – 선행 0 뒤에 OctalDigits 가 올 수 있습니다.
00
8 진수 .0
로 평가되고 해당 숫자의 속성에 액세스하는 것으로 평가됩니다. 그러나 정수는 속성 접근 자로 사용할 수 없기 때문에 오류가 발생합니다.
다른 개체에 대해서도 동일한 오류가 발생합니다.
'string'.0 // Syntax error: unexpected number
({}).0 // Syntax error: unexpected number
MDN에서 속성 접근 자에 대한 관련 정보를 찾을 수 있습니다 .
참고 URL : https://stackoverflow.com/questions/30368910/why-does-00-0-cause-a-syntax-error
반응형
'Development Tip' 카테고리의 다른 글
IQueryable을 반환하려면 (0) | 2020.10.24 |
---|---|
null 매개 변수가있는 addToBackStack의 의미는 무엇입니까? (0) | 2020.10.24 |
Android Gradle 5.0 업데이트 : 원인 : org.jetbrains.plugins.gradle.tooling.util (0) | 2020.10.24 |
Android ListView 선택기 색상 (0) | 2020.10.24 |
멤버 함수로 부스트 바인드를 사용하는 방법 (0) | 2020.10.24 |