编程语言
首页 > 编程语言> > JavaScript中的数组解构

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