博主信息
博文 25
粉丝 0
评论 0
访问量 14080
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
前端开发-对象与数组的解构赋值20221103
P粉114035831
原创
537人浏览过

对象与数组的解构赋值

* 1.数组

建变量数组

let [uname,email]=[‘老王’,’asd@qq.com’]
console.log(uname,email)
//更新
//在[],{},()之前的分号不能省略
;[uname,email] = [‘老张’,’qwe@qq.com’]
console.log(uname,email)
console.log(‘———————‘)

A.值数量 < 变量数量,默认值

//无法识别出 “gender”需要对其赋值
;[uname,email,gender] = [‘小芳’,’zxc@qq.com’]
console.log(uname,email,gender)
//对”gender”赋值’女’后就能被打印
;[uname,email,gender=’女’] = [‘小芳’,’zxc@qq.com’]
console.log(uname,email,gender)

B.值数量>变量数量,则需要使用…rest

;[uname,…arr] = [‘小芳’,’zxc@qq.com’,’女’]
//打印出一个数值和(把数组后面二个字符口串放到一个数组显示)数组
console.log(uname, arr)
//打印出数值,都展开显示
console.log(uname,…arr)
console.log(‘————————-‘)

//应用场景:交接二个数
//建二个变量以方便交换
let x = 10
let y = 30
//交换方式
;[y,x] = [x, y]
//使用反式符
console.log(x=${x},y=${y})
console.log(‘———————-‘)

* 2.对象解构

变量名 === 属性名

//创建变量
let {num, price} = {num:1, price:2000}
console.log(num,price)
//更新.{}不能出现在等号左边(左值),所以加上括号()转成表达式
;({num,price} = {num:2, price:3000})
console.log(num, price)

//命名与前面的冲突,则需要另起一个别名
let { pname, price:block} = { pname:’电脑’, price:3000}
//访问时要用别名
console.log(pname, block)
console.log(‘———————————-‘)

应用场景1: 克隆对象

let lesson = { name: ‘text’, score:11 }
console.log(lesson)
//如果想创建二个不相关的对象,值又完全一样,只能克隆
let {…obj} = lesson
console.log(obj)
// obj不等于lesson
console.log(obj === lesson)
console.log(‘———————————-‘)

应用场景2:解构传参

let show = ({uname, email})=> {return ${uname},${email}}

user= {uname:’老王’, email:’qwe@qq.com’}
console.log(show(user))

* 访问器属性

let course = {
lesson:{
name:’老王’,
score:60,
},

getScore (){
return {
name:this.lesson.name,
course:this.lesson.score,
}
},

setScore(score)
{this.lesson.score = score
}
}

console.log(course.lesson.score)

普通方法 ===> 访问器属性

getScore ===> get score

使属性方法化

course = {
lesson:{
name:’老王’,
score:60,
},
get score (){
return {
name:this.lesson.name,
course:this.lesson.score,
}
},

  1. set score(score)
  2. {this.lesson.score = score
  3. }
  4. }

console.log(course.score)

访问器属性方法化后,简化了代码

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学