我试图为点差运算符创建一个polyfill。我的目标是创建类似于散布算子的东西,在其中我可以使用三个@@@符号代替三个点。
例如,在ES6中
function sum(x, y, z) {
return x + y + z;
}
const numbers = [1, 2, 3];
console.log(sum(...numbers));
// expected output: 6
我正在尝试实现类似的功能
// Instead of triple dots, it should be triple @
console.log(sum(@@@numbers));
// expected output should be 6
我希望console.log(sum(@@@numbers));
的输出为6
。
答案 0 :(得分:0)
您cannot create a polyfill for spread运算符。
处理此类向后兼容性问题的正确方法是在ES6中编写代码,并像transpiler一样使用babel将其自动转换为ES5。