Почему
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, например, использует оператор «+».
Вот и возник вопрос: а почему? Это баг или есть какой-то скрытый от меня смысл?