微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

es6 对象方法

ES6对象方法

 传统      
 // // 传统表示
    // let person = {
    //     'name':'zs',
    //     'say': function(){
    //         console.log('123')
    //     }
    // }
    // person.say()
    var name = 'zs';
    var age = 18;
    // let person = {
    //     name : name,
    //     age : age,
    // }
    // console.log(person)

 

  ES6中的简写
var name = '李四';  var age = 18;
var person1 = {  name,  age,  say() {
            console.log('ES6')    }    };
    console.log(person1); //{name: "李四", age: 18, say: ƒ}

  属性名的更新  用字面量定义一个对象的时候,可以用表达式作为对象的属性名或者方法名。

    

var f = 'first';
    var n = 'Name';
    var s = 'say';
    var h = 'Hello';
    var person = {
        [f + n]: 'zhang',
        [s + h]() {
            return '你好吗'
        }
    };
    console.log(person.firstName)  //zhang  
    console.log(person.sayHello()) //你好吗

  Object.is()函数  比较两个值是否严格相等,或者说全等

// // Object.is 判断两个值是不是相等   相当于===
    // var str = '12';
    // var num = 12;
    // console.log(str == num)  //true
    // console.log(str === num) //false
    // console.log(Object.is(str, num))//false

object.assign() 函数  将源对象的属性赋值到目标对象上。源对象可以是一个或者一个以上,而目标对象只有一个

//Object.assign     相当于concat
    // let target = {'a':1}
    // let origin = {'b':2,'c':3}
    // Object.assign(target,origin);
    // console.log(target)  //{'a':1,'b':2,'c':3}

Object.getPrototypeOf() 函数  获取一个对象的prototype属性

function Person(){

    }
    Person.prototype.name = 'zs'
    Person.prototype  = {
        say(){
            console.log('hello')
        }
    }
    let allen = new Person();
    allen.say()
    console.log(Object.getPrototypeOf(allen) )  //{say: ƒ}

Object.setPrototypeOf()  函数  设置一个对象的prototype属性

//Object.setPrototypeOf()  设置原型属性   (接上)
    Object.setPrototypeOf(allen,{say(){console.log('hi')}})
    allen.say()

Javascript中面向对象   将共用属性方法写在函数的原型中

function Dog(name) {  this.name = name;    }
    Dog.prototype = {     'type': '动物',   'say': function () {  console.log('名字叫' + this.name);    }    };
    var dog = new Dog('旺财');
    dog.say(); //名字叫旺财

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐