Что такое "двойная точка" [например, 5..toFixed()] Я вижу в минимизированных js?
Я работаю над проектом, где мне нужно работать с фреймворками javacsript для работы. У нас есть синтаксический анализатор, который читает их, но ошибки в строках с.., таких как
1..toPrecision()
или же
24..map(function(t){return 7..map(function(a){return e[a][t]})
Кажется, он не понимает "..", и я тоже не понимаю. Почему это действительный JavaScript? Как работает отображение на один номер? В конце концов кто-то исправит парсер, но я ищу временное исправление того, как я могу отредактировать уменьшенный файл.js для работы. Есть ли другой способ написать что-то вроде 24..map()?
2 ответа
Это довольно забавная ситуация. Числа могут иметь значение после десятичной точки, верно?
console.log(1.2345); // for example
Ну, также возможно написать число с десятичной точкой без каких-либо чисел после него.
console.log(5.);
Итак, первая точка - это десятичная точка. Вторым является свойство собственности.
console.log(5. .toString());
// ^ decimal point ^ property accessor
Спецификация определяет десятичные литералы как:
DecimalIntegerLiteral. DecimalDigits опция ExponentPart опция
где opt означает необязательный.
Первый .
символ десятичного разделителя. 1.
это число.
Второй .
является средством доступа к свойству объекта. someNumber.toPrecision
это функция.
Другой способ написать это - написать число с более значительными цифрами:
1.0.toPrecision()