JavaScript ES6 解构赋值的一些问题记录

解构对象, 根据变量名解构同名属性

let {name , age , sex} = {name:"小明" , sex:"男"}
console.log(`name:${name} , age:${age} , sex:${sex}`)
 //name:小明 , sex:男 , age:undefined


解构数组, 根据位置解构

let [name , age , sex , phone ] = [ "小明" , 16 ,  , 13838383388 ]
console.log( `name:${name} , age:${age} , sex:${sex} , phone:${phone}` ) 
//name:小明 , age:16 , sex:undefined , phone:13838383388

可以对嵌套的内容进行解构  但是会丢失对父级的变量获取


// 此时 解构结果中 skill 是undefined  
const {name, skill: {eat, walk}} = {
// 如果确实想要获取 skill 可以这么写: 
// const {name, skill, skill: {eat, walk}} = {

    name: '明', 
    age: 18, 
    skill: {
            eat: ()=> console.log('吃'), 
            walk: ()=> console.log('走')     
        }
    }

 

可以给结构出来的变量设置默认值

const { name = '不是小明', age, six = "男" } = {
  name: "小明",
  age: 12
}; // 小明 12 男
// 当结构出来的值为 `undefined` 的时候, 会使用设置的默认值

 

可以修改变量名

const { name, age: _age } = { name: "小明", age: 12 };
console.log(name, _age); // 小明 12

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值