如果var
前面没有关键字,为什么对象解构会抛出错误?
{a, b} = {a: 1, b: 2};
Run Code Online (Sandbox Code Playgroud)
投 SyntaxError: expected expression, got '='
以下三个示例没有问题
var {a, b} = {a: 1, b: 2};
var [c, d] = [1, 2];
[e, f] = [1, 2];
Run Code Online (Sandbox Code Playgroud)
奖金问题:为什么我们不需要var
进行阵列解构?
我遇到了类似的问题
function () {
var {a, b} = objectReturningFunction();
// Now a and b are local variables in the function, right?
// So why can't I assign values to them?
{a, b} = objectReturningFunction();
}
Run Code Online (Sandbox Code Playgroud) 当我只对索引0之外的数组值感兴趣时,我可以避免在数组解构时声明无用的变量吗?
在下面,我想避免声明a
,我只对索引1及更高版本感兴趣.
// How can I avoid declaring "a"?
const [a, b, ...rest] = [1, 2, 3, 4, 5];
console.log(a, b, rest);
Run Code Online (Sandbox Code Playgroud)
如何使用destruct获取数组?
const num = [1,2,3,4,5];
const [ first ] = num; //1
Run Code Online (Sandbox Code Playgroud)
console.log(first)
我能够得到1,但是当我尝试做到const [ null, second ] = num
这一点时,预计会出现令牌错误.如何获得num数组的第二项?
我的airbnb 风格指南告诉我我应该在下面的任务中使用数组解构。
const splittedArr = [1, 2, 3, 4, 5]
const result = splittedArr[1];
Run Code Online (Sandbox Code Playgroud)
所以我使用 skipping values 像这样编写它,以获得第二个元素。
const splittedArr = [1, 2, 3, 4, 5]
const [, result] = splittedArr;
Run Code Online (Sandbox Code Playgroud)
const splittedArr = [1, 2, 3, 4, 5]
const result = splittedArr[1];
Run Code Online (Sandbox Code Playgroud)
但是例如当我有一个更高的指数要破坏时
const splittedArr = [1, 2, 3, 4, 5]
const result = splittedArr[5];
Run Code Online (Sandbox Code Playgroud)
这意味着我必须像这样写
const splittedArr = [1, 2, 3, 4, 5]
const [,,,, result] = splittedArr;
Run Code Online (Sandbox Code Playgroud)
const splittedArr = …
Run Code Online (Sandbox Code Playgroud)如何替换从以下代码摘录中访问临时变量值?我尝试通过默认的 JS 代码获取所有值,但是,我想在这里使用解构
const temp = context.options[0]; // <----- here
const avoidPattern = [
'foo', 'bar', 'abc', 'value', 'temp', 'num'
];
return [...avoidPattern, ...temp]
Run Code Online (Sandbox Code Playgroud)