当前位置: 代码迷 >> 综合 >> JavaScript ES6 解构赋值的一些问题记录
  详细解决方案

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

热度:100   发布时间:2023-10-30 00:30:55.0

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

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

 

 

 

 

 

 

  相关解决方案