// 解构赋值
// 1.数组
let [uname, uage, usex] = ['刘备', 50, '男']
// 更新,在{}[]()这些括号前不能省略分号;
;[uname, uage, usex] = ['关羽', 45, '男']
// 2.值数量<变量数量,使用默认值
;[uname, uage, usex='男'] = ['关羽', 45]
// 值数量>变量数量,使用...
// 更新,在{}[]()这些括号前不能省略分号;
;[uname, ...ziliao] = ['关羽', 45, '男']
// 2对象
// 1.变量名 === 属性,绝对等于
let {name, sex} = {name:'孙悟空', sex:'男'}
// 更新,大括号不能出现在等号左边,得加上括号()
;({name, sex} = {name:'白骨精', sex:'女'})
// 命名冲突:使用别名
let {mname, sex:man} = {mname:'lin', sex:'man'}
// 访问器属性
let sjk = {
sj:{
name:'柯南',
age:5,
},
// 读取接口
getage(){
return{
name:this.sj.name,
age:this.sj.age
}
},
// 设置接口
setage(age){
if( age >= 0 && age<=130 ){
this.sj.age = age
} else{
console.log('年龄必须是1到130之间')
}
}
}
// 访问器属性,普通方法===>访问器属性
sjk = {
sj:{
name:'柯南',
age:5,
},
// 使用访问器属性,get必须有,set可选
get age(){
return{
name:this.sj.name,
age:this.sj.age
}
},
// 将一个方法伪装成属性
set age(age){
if( age >= 0 && age<=130 ){
this.sj.age = age
} else{
console.log('年龄必须是1到130之间')
}
}
}