머리말
몇 년 전, Spidermonkey가 엄격한 모드를 구현했을 때, 엄격한 모드가 Octal Integer 지역의 쓰기를 비활성화한다는 것을 알게되었습니다. 일부 초보자는 0을 사용하여 여러 행으로 숫자를 정렬 할 것이라는 증거가 있기 때문에 예상치 못한 결과가 발생합니다.
var sum = 015 + //는 157 + 001이 아닌 소수점에서 13과 동일합니다. // 어쨌든, 그것은 1console.log (sum)입니다. // 추가로 얻은 합은 211입니다.
그러나 일부 개발자는 여전히 옥탈 정수 (특히 Mozilla Extension Developers 및 Node.js 개발자)가 필요하며, 가장 일반적인 것은 파일 권한을 처리 할 때 (755, 644)입니다. 따라서 ES6은 새로운 Octal Integer Writing Method를 추가했습니다. 16 진수 0x 또는 0x와 유사하게, 새로운 Octal Integer는 0o 또는 0o를 주요 식별자로 사용하고, 몇 개의 Octal 숫자 (0 ~ 7)를 사용합니다. 이 글쓰기 방법은 더 이상 초보자를 귀찮게하지 않습니다.
var default_perms = 0o644; // 엄격한 모드로도 사용할 수 있습니다
0o 접두사의 가독성이 너무 열악하다는 점은 주목할 가치가 있습니다 (0 및 대문자 O는 너무 비슷해 보이고 구별하기가 어렵습니다). 나는 대문자 0o 접두사를 비활성화하기 위해 Esdiscuss 에서이 질문을 제기했습니다. 그러나 TC39의 현재 결정은 여전히 일관성이 가독성보다 더 커야한다고 생각합니다 (일관성은 0x 및 0B와 일치해야 함을 의미합니다). 나는이 결정이 논쟁의 여지가 있다고 생각하며, 당신은 대문자 0o를 사용하지 않는 것이 좋습니다.
또한 일부 개발자는 이진 정수 표면 수량 쓰기 방법이 필요하며 ECMAScript에서는 지원받지 못했습니다. ES6은 0B 또는 0B 접두사를 사용하여 Octal 및 HexAdecimal과 유사한이 작문 방법을 지원합니다.
var flt_signbit = 0B1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000는지까지 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
현재 Firefox Aurora는이 두 구문을 구현했습니다. 더 모험적이라면 Nightly 업데이트 된 Firefox를 사용할 수도 있습니다.
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용이 ES6 학습의 모든 사람들에게 도움이되기를 바랍니다. 궁금한 점이 있으면 의사 소통 할 메시지를 남겨주세요.