delphinpro
@delphinpro
frontend developer

Почему babel использует метод concat() вместо оператора «+»?

Почему babel использует метод concat() вместо оператора "+" при преобразовании шаблонных строк?

var v = 12;
...
// Исходная строка
var result = `str1${v}str2${v}str3`;

// Выходной код
var result='str1'.concat(v,'str2').concat(v,'str3');

// Ожидаемый код
var result='str1'+v+'str2'+v+'str3';


Причем, если бы хотя бы было так, и то было бы короче:
var result='str1'.concat(v,'str2',v,'str3');

Это происходит при следующем наборе (т.е. последние версии):
"@babel/core": "^7.4.5",
"@babel/preset-env": "^7.4.5",
"gulp-babel": "^8.0.0",


Babel 6, например, использует оператор «+».
Вот и возник вопрос: а почему? Это баг или есть какой-то скрытый от меня смысл?
  • Вопрос задан
  • 780 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
...или есть какой-то скрытый от меня смысл?

есть
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы