博主信息
博文 34
粉丝 0
评论 0
访问量 24941
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0401作业-解构与访问器属性
千山暮雪
原创
565人浏览过

1. 数组,对象,传参的解构

解构赋值语法是一种 Javascript 表达式。通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。

  • 数组的解构
  1. // 完全解构
  2. let [a,b,c] = [1,2,3];
  3. console.log('a:%d,b:%d,c:%d',a,b,c);
  4. // 部分解构
  5. let [d,e] = [4,5,6];
  6. console.log('d:%d,e:%d',d,e);
  7. // 支持默认值与归并
  8. let [f,g,h=10] = [7,8]
  9. console.log('f:%d,g:%d,h:%d',f,g,h);
  10. let[i,j,...k] = [1,2,3,4,5,6,7,8,9]
  11. console.log('i:%d,j:%d,k:%o',i,j,k);
  • 对象的解构
    1. let obj = {
    2. name:'张三',
    3. gender:'男',
    4. email:'tp@php.cn'
    5. }
    6. let {name,gender,email}= obj;
    7. console.log('name:%s,gender:%s,email:%s',name,gender,email);
    8. // 如果对象没有声明,需要使用()转为表达式
    9. ({name2,gender2,email2} = {name2:'李四',gender2:'女',email2:'admin@qq.com'});
    10. console.log('name2:%s,gender2:%s,email2:%s',name2,gender2,email2);

    变量名要与对象属性名相同
    属性名与变量名不相同时无法获得赋值

    1. ({name2,gender2,email2} = {name:'李四',gender:'女',email:'admin@qq.com'});
    2. console.log('name2:%s,gender2:%s,email2:%s',name2,gender2,email2);

    一个属性从一个对象解构,并分配给一个不同名称的变量

    1. ({name:name2,gender:gender2,email:email2} = {name:'李四',gender:'女',email:'admin@qq.com'});
    2. console.log('name2:%s,gender2:%s,email2:%s',name2,gender2,email2);
  • 传参的解构
  1. function User({name,email}) {
  2. console.log('name:%s,email:%s', name,email);
  3. }
  4. User({name:'王五',email:'admin@php.cn'});

2. 访问器属性的get,set操作

通过set,get修饰,把访问器的方法变成属性调用
访问器

  1. let user = {
  2. data:{name},
  3. set name(v) {
  4. this.data.name = v;
  5. },
  6. get name() {
  7. return this.data.name;
  8. }
  9. }
  10. console.log(user.name);
  11. user.name = '张三';
  12. console.log(user.name);
批改老师:天蓬老师天蓬老师

批改状态:合格

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

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

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