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);
相关推荐
Bigger2 分钟前
mini-cc:一个轻量级 AI 编程助手的诞生
前端·ai编程·claude
涵涵(互关)16 分钟前
Naive-ui树型选择器只显示根节点
前端·ui·vue
BY组态25 分钟前
Ricon组态系统最佳实践:从零开始构建物联网监控平台
前端·物联网·iot·web组态·组态
BY组态30 分钟前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·物联网·iot·web组态·组态
SoaringHeart32 分钟前
Flutter进阶:OverlayEntry 插入图层管理器 NOverlayZIndexManager
前端·flutter
放下华子我只抽RuiKe542 分钟前
React 从入门到生产(四):自定义 Hook
前端·javascript·人工智能·深度学习·react.js·自然语言处理·前端框架
IT_陈寒2 小时前
Redis缓存击穿把我整不会了,原来还有这手操作
前端·人工智能·后端
idcu3 小时前
深入 Lyt.js 组件系统:L2 渲染引擎层的核心
前端·typescript
这是程序猿3 小时前
Spring Boot自动配置详解
java·大数据·前端
文心快码BaiduComate3 小时前
干货|Comate Harness Engineering工程实践指南
前端·后端·程序员