object获取的两种方式:
data() {return {abj: {aa: {A: '1'}}}},created() {console.log(this.abj.aa) //第一种console.log(this.abj["aa"]) //第二种},
Object.keys使用/解构赋值:
return {footList: [],abj: {aa: {A: '12',AA:'22'},bb: {B: '1'}},ABJ:[100,200,300]}},created() {this.deepCopy()//Object.keys返回值是数组console.log(Object.keys(this.abj)) //参数为对象时 返回值是数组,存放的是对象key//['aa','b']console.log(Object.keys(this.ABJ)) //参数为数组时 返回值是数组,存放的是数组索引,和用for in遍历数组的顺序一样//['0','1','2']for (const BB in this.ABJ){console.log(BB) //0//1//2}},
解构赋值与扩展运算符:
this.obj 和 {...this.obj} 区别
data() {return {A: {AA: 'ytyt1',BB: 'ytyt2',CC: 'ytyt3',}}},created() {console.log(this.A)console.log({...this.A}) },
基本使用方法:
data() {return {A: {AA: 'ytyt1',BB: 'ytyt2',CC: 'ytyt3',},ABJ: [100, 200, 300]}},created() {console.log(...this.ABJ) //100 200 300console.log([...this.ABJ]) //[100, 200, 300]// 仅提取 BB 作为变量let {BB} = {...this.A}console.log(BB) //ytyt2// CC = 名为 CC 的属性// rest = 存有剩余属性的对象let {CC, ...rest} = this.A;console.log(CC) //ytyt3console.log(rest) //{AA: 'ytyt1', BB: 'ytyt2'}// 把一个属性赋值给另一个名字的变量// 冒号表示“什么值:赋值给谁”// 解构赋值都可以设置默认属性 {BB: b = 2} let {BB: b} = {...this.A}console.log(b)// 数组解构let [DD] = [...this.ABJ]console.log(DD) // 从数组第一个开始赋值,所以DD值为100},