Предисловие
Несколько лет назад, когда Spidermonkey внедрил строгий режим, я узнал, что строгий режим отключает написание восьмиугодного целого числа. Поскольку есть доказательства того, что некоторые новички будут использовать ведущие 0s для выравнивания чисел в нескольких рядах, что приведет к неожиданным результатам:
var sum = 015 + // эквивалентна 13 в десятичном, а не 15 197 + 001; // в любом случае, это 1 -anconole.log (sum) // сумма, полученная с добавлением, составляет 211, а не 213, как думают новички.
Тем не менее, некоторым разработчикам по -прежнему нужны восьмичетные целые числа (особенно те разработчики расширения Mozilla и разработчики Node.js), и наиболее распространенным является при обработке разрешений на файлы (755, 644). Следовательно, ES6 добавил новый восьмидесятый метод написания целочисленного целого числа. Подобно шестнадцатеричному 0x или 0x, новое восьмиегальное целое число использует 0o или 0o в качестве ведущего идентификатора, за которым следует несколько восьмистных числовых символов (от 0 до 7). Этот метод написания больше не будет беспокоить новичков:
var default_perms = 0o644; // также доступен в строгом режиме
Стоит отметить, что читаемость префикса 0o слишком плохая (0 и верхний регистр o выглядят слишком похожими, и его трудно различить). Я поднял этот вопрос на Esdiscuss, надеясь отключить префикс верхней регистрации 0o. Тем не менее, текущее решение TC39 по -прежнему считает, что согласованность должна быть больше, чем читабельность (согласованность означает, что оно должно соответствовать 0x и 0b). Я думаю, что это решение спорно, и я рекомендую вам никогда не использовать верхний регистр 0o.
Кроме того, некоторым разработчикам также нужен метод написания количества бинарной целочисленной поверхности, который никогда не поддерживался Ecmascript. ES6 поддерживает этот метод написания, похожий на восьмиугольный и шестнадцатеричный, используя префиксы 0b или 0b:
var flt_signbit = 0B10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
В настоящее время Firefox Aurora внедрила эти два синтаксиса. Если вы более предприимчивы, вы также можете использовать обновленную ночью Firefox.
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи будет полезно для всех в изучении ES6. Если у вас есть какие -либо вопросы, пожалуйста, оставьте сообщение для общения.