• 5.对象


    属性的简洁表示法

    ES6允许对象的属性直接写变量,这时候属性名是变量名,属性值是变量值。

    const age = 12;
    const name = "Amy";
    const person = {age, name};
    person   //{age: 12, name: "Amy"}
    //等同于
    const person = {age: age, name: name}

    方法名简写
    const person = {
      sayHi(){
        console.log("Hi");
        }
      }
    person.sayHi();
    //"Hi" //等同于
    const person = {
      sayHi:function(){
        console.log("Hi");
      }
    }
    person.sayHi();//"Hi"

    属性名表达式

    ES6允许用表达式作为属性名,但是一定要将表达式放在方括号内。

      注意点:属性的简洁表示法和属性名表达式不能同时使用,否则会报错。

    const obj = {
     ["he"+"llo"](){
       return "Hi";
      }
    }
    obj.hello();  //"Hi"

    对象的拓展运算符

    拓展运算符(...)用于取出参数对象所有可遍历属性然后拷贝到当前对象。
    
    基本用法
    let person = {name: "Amy", age: 15};
    let someone = { ...person };
    someone;  //{name: "Amy", age: 15}
    可用于合并两个对象
    let age = {age: 15};
    let name = {name: "Amy"};
    let person = {...age, ...name};
    person;  //{age: 15, name: "Amy"}

    对象的方法

    Object.is(value1, value2),比较两个值是否严格相等,与===基本类似      

    Object.is("q","q"); // true 
    Object.is(1,1); // true
    Object.is([1],[1]); // false
    Object.is({q:1},{q:1}); // false


    console.log(NaN
    === NaN);
    //true
    console.log(Object.is(NaN,NaN)); //true
    ***** assign() *** 对象的合并 Object.assign(target,obj1,obj2....) //true 返回合并之后的新对象 let newObj = Object.assign({},{a:1},{b:2}); console.log(newObj) //{a: 1, b: 2}
  • 相关阅读:
    还没解决的问题
    USACO 1.41 The clocks
    USACO Broken Necklace
    hdu 3265 Posters
    USACO1.52 Prime Palindromes
    hdu 3068 && pku 3974 (最长回文串)(Manacher 算法)
    USACO Calf Flac
    USACO Milking Cows
    旧版RTSP协议网页视频无插件直播EasyNVR视频平台为什么无法播放H264编码视频?
    mysql的基本查询
  • 原文地址:https://www.cnblogs.com/sunny666/p/12984319.html
Copyright © 2020-2023  润新知