ES6-解构

51 阅读1分钟

1.结构使用

const obj = {
  teacher: {
    name: "xiaoming",
    age: 18,
    course: ["english", "history"],
  },
  studentNum: 60,
  className: "五一班",
};

const {
  teacher: { name, age, course },
  studentNum,
  className,
} = obj || {};

2.使用场景

-形参结构

function func(arr) {
  let sum = 0;
  for (let i = 0; i < arr?.length; i++) {
    sum += arr[i];
  }
  return sum;
}

function func([a, b, c]) {
  return a + b + c;
}

// 参数数量不定,求所有参数之和
function func(...values) {
  let sum = 0;
  for (let i = 0; i < values?.length; i++) {
    sum += values[i];
  }
  return sum;
}
func(1, 2, 3, 4, 5, 6, 7); // 28

-结合初始值

function func({ x, y, z = 1 }) {
  return x * y * z;
}
func({ x: 1, y: 2 }); //2

-返回值

function func() {
  return {
    x: 0,
    y: 1,
    z: 2,
  };
}

const {x,y,z} = func();

-变量交换

交换a,b的值

const a =1,b =2;
const [a,b] = [b,a]; // a = 2,b = 1

-json 处理

const json = '{"teacher": "yy", "leader": "xk"}';

const obj = JSON.parse(json);

const {
    teacher,
    leader
} = JSON.parse(json);

-ajax

    const {
        code,
        data,
        msg
    } = response;