JS字符串解构:rest参数返回不一致的数据
JS string destructuring: rest parameter returning inconsistent data
考虑以下示例
旧项目:
const [x, ...y] = "text";
console.log(x) // "t"
console.log(y) // "ext"
基于CRA的新项目:
const [x, ...y] = "text";
console.log(x) // "t"
console.log(y) // ["e", "x", "t"]
我不确定为什么 y
为旧项目返回一个字符串 ("ext"
),而对于新项目它是一个字符数组 (["e", "x", "t"]
)。是不是和JS版本不同有关?
注意:两个结果都是在 运行 webpack dev server 之后提取的。
在 babel website 你可以看到你的代码基于 es2015-loose 转换为这个代码所以这个代码的输出与你的旧项目相同
"use strict";
var _text = "text",
x = _text[0],
y = _text.slice(1);
console.log(x); // "t"
console.log(y); // "ext"
考虑以下示例
旧项目:
const [x, ...y] = "text";
console.log(x) // "t"
console.log(y) // "ext"
基于CRA的新项目:
const [x, ...y] = "text";
console.log(x) // "t"
console.log(y) // ["e", "x", "t"]
我不确定为什么 y
为旧项目返回一个字符串 ("ext"
),而对于新项目它是一个字符数组 (["e", "x", "t"]
)。是不是和JS版本不同有关?
注意:两个结果都是在 运行 webpack dev server 之后提取的。
在 babel website 你可以看到你的代码基于 es2015-loose 转换为这个代码所以这个代码的输出与你的旧项目相同
"use strict";
var _text = "text",
x = _text[0],
y = _text.slice(1);
console.log(x); // "t"
console.log(y); // "ext"