对象

@Object
.在 {} 中以值对 key-value pair 的形式定义
.对象其实就是一组数据和功能的集合
.使用点语法或数组语法访问值对
对象静态方法
entries():返回对象入口|键值对组成的数组
keys():返回对象键 key 组成的数组
values():返回对象值 value 组成的数组
assign(obj,obj1):赋值;将 obj1 的内容给 obj;要求各值对一一对应
对象实例方法
增/改
let obj = { name: 'cnplaman', age: 18 }
obj.gender = 'male';
obj.marriage = true;
obj.age = 24;
console.log(obj.name);
console.log(obj['name']);
console.log(obj);
delete obj.marriage;
console.log(obj);
查:定义查询字符串
let sql = 'age' in obj
console.log(sql);      
长度:无法直接获取

.通过对象Object的静态方法:entries()、keys()或values()间接获取;这三个方法返回入口、键和值的数组

console.log(Object.keys(obj).length);
console.log(Object.values(obj).length);
console.log(Object.entries(obj).length);      
遍历对象:for-in;枚举
// 遍历的是key,要想获取值value,则配合对象使用
for (item in obj) {
  console.log(item, obj[item]);
}

//fail
// obj.forEach(item => {
//   console.log(item);
// })

// fail:TypeError: obj is not iterable
// for (item of obj) {
//   console.log(item);
// }

//也可以先entries()、keys()或values(),再使用数组遍历方法,如for()或forEach()
Object.keys(obj).forEach(item => {
  console.log(item);
})
Object.values(obj).forEach(item => {
  console.log(item);
})
Object.entries(obj).forEach((item) => {
  console.log(item);
})
//解构再输出
Object.entries(obj).forEach(([value, key]) => {
  console.log(key, value);
})
.函数的参数传递是传值;但是函数内部对对象的访问是引用
function setObj(obj) {
    obj.name = 'glpla';
}
var stu = new Object();
setObj(stu);
console.log(stu.name);
对象的解构 {}
.将数组中的值或对象的属性取出,赋值给其他变量
.对象解构使用花括号{};数组 解构使用[];多个变量以逗号,分隔
.解构赋值的时候:
.可以更改名字
.可以嵌套解构
.可以指定默认值
.高频使用;更多信息,请访问 Destructuring Assignment
[] 框架中按需结构包
import { createApp } from 'vue'
import { computed, onMounted, reactive, ref } from 'vue';
const { add, dec } = require('./module/test')
[] 示例数据
let obj = { name: 'cnplaman', age: 18, address: { city: 'gz', code: 541000 } }
普通解构赋值 - 获取obj中的属性赋值给同名变量
let { name, age } = obj
重命名赋值 - 使用冒号:指定新变量名
let { name: uname, age: uage } = obj
默认赋值 - 解构时修改属性值或增加一个新属性
let { name: uname, age: uage, gender = 'male' } = obj
嵌套解构赋值
let { name, age, address: { city } } = obj
let { name, age, address: { code: postcode } } = obj