ES6入门---第二单元 模块三:对象新增、

一:对象简洁语法:

1、变量简洁

javascript 复制代码
<script>
        let name = 'Strive';
        let age = 18;

        let json ={
            name,   //name:name,
            age     //age:age
        };

        console.log(json);

    </script>

2、函数简洁

javascript 复制代码
let json ={
            name,   //name:name,
            age,     //age:age
            /* showA:function(){
                return this.name;
            } */
            showA(){//不要用箭头函数
                return this.name;
            },
            showB(){
                return this.age;
            }
        };

3、有关解构

javascript 复制代码
   let x = 10;
        let y =20;
        function show({x,y}){
            console.log(x, y);
        }

        show({x,y})

二、对象新增

1、

Object.is(): 用来比较两个值是否相等

Object.is('a','a');

补充:JavaScript NaN 属性

NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

提示:请使用 isNaN() 全局函数来判断一个值是否是 NaN 值。

Object.is(+0, -0); false

Object.is(NaN, NaN); false

2、Object.assign():

用途:

  1. 复制一个对象
  2. 合并参数

let 新的对象 = Object.assign(目标对象, source1, srouce2....)

原则:后覆盖前

例:

javascript 复制代码
 let json = {a:1};
        let json2 = {b:2, a:2};
        let json3 = {c:3};

        let obj = Object.assign({}, json, json2,json3);

        console.log(obj);

3、补充:

ES2017引入:

Object.keys()

Object.entries();

Object.values();

javascript 复制代码
  let {keys, values, entries} = Object;

        let json = {
            a:1,
            b:2,
            c:3
        };

        for(let key of keys(json)){
            console.log(key);
        }

        for(let value of values(json)){
            console.log(value);
        }

        for(let item of entries(json)){
            console.log(item);
        }

        for(let [key, val] of entries(json)){
            console.log(key, val);
        }

4、【ES2018】对象扩展运算符:...

javascript 复制代码
 let json = {a:3, b:4};

        let json2 = {...json};

        delete json2.b;
        console.log(json2);
        console.log(json);
相关推荐
学嵌入式的小杨同学8 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
weixin_425543739 小时前
TRAE CN3.3.25 构建的Electron简易DEMO应用
前端·typescript·electron·vite·nestjs
Mr Xu_9 小时前
【Vue3 + ECharts 实战】正确使用 showLoading、resize 与 dispose 避免内存泄漏
前端·信息可视化·vue·echarts
0思必得010 小时前
[Web自动化] Selenium设置相关执行文件路径
前端·爬虫·python·selenium·自动化
雯0609~10 小时前
hiprint:实现项目部署与打印1-官网提供普通html版本
前端·html
不绝19110 小时前
UGUI——进阶篇
前端
Exquisite.11 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql
2501_9445255411 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 账户详情页面
android·java·开发语言·前端·javascript·flutter
2601_9498574311 小时前
Flutter for OpenHarmony Web开发助手App实战:快捷键参考
前端·flutter
wangdaoyin201011 小时前
若依vue2前后端分离集成flowable
开发语言·前端·javascript