Что такое оператор двойной точки (..) в Javascript? - PullRequest
17 голосов
/ 18 ноября 2010

Я работаю с Parser API в Spidermonkey. Документы показывают, что есть бинарный оператор ...У кого-нибудь есть любая идея, что это такое?Я хотел бы знать.Я никогда не видел это раньше.Если бы мне пришлось угадывать, я бы сказал, что это что-то с E4X, но это только потому, что я ничего не знаю о E4X.

Ответы [ 4 ]

34 голосов
/ 18 ноября 2010

Не путать с десятичной точкой и точкой:

var val= 1000..toExponential()
15 голосов
/ 18 ноября 2010

Это оператор E4X.

С https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide:Processing_XML_with_E4X:

Пока.оператор обращается к прямым потомкам данного узла, оператор .. обращается ко всем дочерним элементам независимо от того, насколько глубоко они вложены:

6 голосов
/ 28 октября 2016

Что-то вроде:

255..toString(16);

Первая точка на самом деле является десятичной точкой, просто дайте JavaScript Compiler знать, что вторая точка хочет вызвать свойство или метод.И 255.toString(16) приводит в замешательство компилятор JavaScript (идентификатор начинается сразу после десятичного числового литерала).

3 голосов
/ 18 ноября 2010

Это действительно E4X.Он делает то же самое, что и оператор единой точки, который выбирает потомков, но выбирает всех потомков.(Это по аналогии с оператором / XPath, выбирающим дочерние элементы элемента, который соответствует селектору, и //, выбирающим всех потомков, которые соответствуют селектору.)

...