JavaScript中的数组解构
作者:互联网
我在我的vue-js应用程序中有这个代码:
methods: {
onSubmit() {
ApiService.post('auth/sign_in', {
email: this.email,
password: this.password,
})
.then((res) => {
saveHeaderToCookie(res.headers);
this.$router.push({ name: 'about' });
})
.catch((res) => {
this.message = res.response.data.errors[0];
this.msgStatus = true;
this.msgType = 'error';
});
},
}
在运行Es-lint时,我在this.message = res.response.data.errors [0]中收到一条错误,说“使用数组解构”(prefer-destructuring).在这条线上.什么是数组解构以及如何做到这一点?请给我一个概念.我研究了它但无法弄明白
解决方法:
Destucturing在赋值的左侧使用类似结构的语法,以将右侧的结构元素分配给各个变量.例如,
let array = [1, 2, 3, 4];
let [first, _, third] = array;
解构数组[1,2,3]并将单个元素分配给第一个和第三个(_是占位符,使其跳过第二个元素).由于LHS比RHS短,因此4也被忽略.它相当于:
let first = array[0];
let third = array[2];
还有一个对象解构赋值:
let object = {first: 1, second: 2, third: 3, some: 4};
let {first, third, fourth: some} = object;
这相当于
let first = object.first;
let third = object.third;
let fourth = object.some;
也允许传播运算符:
let [first, ...rest] = [1, 2, 3];
将1分配给第一个,[2,3]休息.
在你的代码中,它表示你可以这样做:
[this.message] = res.response.data.errors;
The documentation on prefer-destructuring
列出了它认为“正确”的内容.
标签:destructuring,javascript,arrays,eslint 来源: https://codeday.me/bug/20190929/1833083.html