Как в javascript работает оператор + сложение, суммирование, объединение, конкатенация

В javascript только оператор + хитро работает, если складывать число со строкой. + всегда приводит числа к строкам, ЕСЛИ вы складываете два разных типа.

 

Пример:

 

3 + "4" ="34" (строка 34, а не число 7)

"4" + 3 = "43"

 

С остальными операторами, такими как - * / в JS такой магии нет. Только с "плюсом". Например:

 

3 * "4" = 12

10 - "5" = 5

 

Оператор + обладает левосторонней ассоциативностью, поэтому след. выражение выдаст:

order = 1 + 2 + " three" получим "3 three", т.к. обработка выражения началась слева направа, НО:

console.log ("Res:" + 10/2) выдаст Res:5, т.к. сначала выполняются умножение и деление, а потом + конкатенировал обе части в строку.

 

Еще примеры с плюсом:

 

(1+2) + " three" выдаст "3 three"

1 + (2 +" three") выдаст "12 three"

true + " false" выдаст ""true false"

 

Чтобы сложить число со строкой и JS явно преобразовал строку в число использовать  функцию Number:

3 + Number  ("4") = 7

Если Number не смог преобразовать в число, он вернет NaN, а 3 + NaN выдаст NaN.

 



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы