对于新的和不兼容的语法,解决方案是转译。将程序的源代码从一种形式转换为另一种形式(但仍为文本源代码)。最常见的是 Babel https://babeljs.io从较新的 JS
语法版本转换为等效的旧语法来解决的。
例如开发人员编写的代码片段:
if (something) {
let x = 3;
console.log(x);
}
else {
let x = 4;
console.log(x);
}
Babel 转译器可能会将该代码转换为:
var x$0, x$1;
if (something) {
x$0 = 3;
console.log(x$0);
}
else {
x$1 = 4;
console.log(x$1);
}