Сложение переменных в Javascript

Конкатенация – это процесс, подразумевающий соединения вещей между собой. Чаще всего конкатенация в JavaScript применяется для соединения значений переменных или строк со строками, чтобы образовались более длинные строки. Базовый оператор контактенации в JavaScript такой же как и оператор сложения, а именно — оператор +. Приведем несколько примеров:

Базовая конкатенация

1

2

vartitle=»Wewish «+»tobefriends»;

console.log(title);

Результат в консоли:

1>We wish to be friends

Важно! Обратите внимание на дополнительный пробел, который был добавлен к первой строке; во время конкатенации JavaScript не будет автоматически добавлять. Приведем альтернативный вариант:

1

2

3

4

varwelcome=»Comesit»;

vardirection=»bythehearth»;

console.log(welcome+» «+direction);

>Comesitbythehearth

Конкатенация с помощью оператора присваивания

Часто мы заносим строку в переменную, после чего хотим добавить другую строку к уже существующей информации. Это можно сделать посредством оператора присваивания со сложением +=:

1

2

3

4

5

varwelcome=»Good «;

vartime=»evening»;

welcome+=evening;

console.log(welcome);

>Goodevening

В процессе выполнения операций значение переменной welcome будет изменено.

Различные приемы: concat

Метод concat тоже соединяет строки между собой:

1

2

3

4

varoneDay=»Oneday I met «;

varriddle=oneDay.concat(«a man «,»goingtoSt. Ives.»);

console.log(riddle);

>OnedayImetamangoingtoSt.Ives.

Здесь тоже нужно вставлять дополнительные пробелы, чтобы они появились в конечном результате. Также вы можете применить метод .concat к пустой строке, добавляя к ней новые строки:

1varriddle=»».concat(«Themanhad «,»sevenwives»);

По возможности следует избегать метода concat, поскольку он работает гораздо медленнее, чем операторы + или +=.

join

Метод join соединяет все элементы массива в строку. К примеру, у вас есть массив cats:

1

2

3

4

varcats=[‘Artemis’,’Catbus’,’Duchess’,’Figaro’,’Kuroneko-sama’,’Scratchy’];

varjoinedNames=cats.join();

console.log(joinedNames);

>»Artemis,Catbus,Duchess,Figaro,Kuroneko-sama,Scratchy»

Метод .join автоматически использует в качестве разделителя запятую, с помощью которой в самом массиве разделяются элементы. Это поведение может быть изменено, используя любой разделитель, в том числе пробелы:

1

2

varjoinedNames=cats.join(‘ ‘);

>»ArtemisCatbusDuchessFigaroKuroneko-samaScratchy»

И снова, метод .join работает намного медленнее, чем стандартный оператор +, и по возможности его стоит избегать.

Путаница с конкатенацией

Часто новички, пишущие код на JavaScript, допускают распространенную ошибку при конкатенации. Приведем пример:

1

2

3

vara=10;

varb=20;

console.log(‘Totalis ‘+a+b);

В качестве результата вы могли бы ожидать 30. Однако результат будет таким:

1>Totalis1020

Это объясняется тем, что JavaScript в первую очередь производит конкатенацию текста с переменной, а не сложение переменных.

Числа, соединенные со строкой, превращаются не в число, а в строку. Так происходит, потому что JavaScript выполняет код слева направо. То есть, если бы мы могли замедлить работу JavaScript интерпретатора, то мы бы увидели такой порядок выполнения операций:

1

2

>Totalis10

>Totalis1020

Но можно определить, что должно выполнятся первым, заключив необходимые части выражения в круглые скобки.

1console.log(‘Totalis ‘+(a+b));

Теперь мы получим вот такой результат:

1>Totalis30

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *