Типичная проблема, возникающая при конкатенации строк, связана с несколькими проблемами:
+символ перегрузки
- простые ошибки
- программисты ленивы
# 1
Первая и главная проблема использования +конкатенации и сложения строк заключается в том, что вы используете +конкатенацию и сложение строк .
если у вас есть переменные aи b, и вы установили c = a + b, есть неоднозначность, зависящая от типов aи b. Эта двусмысленность заставляет вас предпринять дополнительные шаги для смягчения проблемы:
Строка Concat:
c = '' + a + b;
Дополнение:
c = parseFloat(a) + parseFloat(b);
Это подводит меня ко второму пункту
# 2
Очень легко случайно привести переменную к строке, не осознавая этого. Также легко забыть, что ваш ввод вводится в виде строки:
a = prompt('Pick a number');
b = prompt('Pick a second number');
alert( a + b );
Будет давать не интуитивные результаты, потому что prompt возвращает строковое значение ввода.
# 3
Необходимость набирать текст parseFloatили Number()каждый раз, когда я хочу сделать сложение, утомительна и раздражает. Я считаю себя достаточно умным, чтобы помнить, чтобы не испортить мои динамические типы, но это не значит, что я никогда не испортил свои динамические типы . Правда в том, что мне лень печатать parseFloatили Number()каждый раз, когда я делаю сложение, потому что я делаю много сложений.
Решение?
Не все языки используют +для конкатенации строк. PHP использует .для объединения строк, что помогает различать, когда вы хотите добавить числа и когда вы хотите объединить строки.
Любой символ может быть использован для объединения строк, но большинство из них уже используются, и лучше избегать дублирования. Если бы у меня был свой путь, я бы, вероятно, использовал _для объединения строк и запретил бы _вводить имена переменных.
bad. Кто такойEveryone?