• ES6----class用法


    http://es6.ruanyifeng.com/#docs/class         阮一峰老师的ES6入门

    一:知识点:

    1.基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到。

    2.ES6 的类,完全可以看作构造函数的另一种写法。

    3,.类的方法都定义在prototype对象上面,所以类的新方法可以添加在prototype对象上面。

      向类中添加方法

    Object.assign(Point.prototype, {
      toString(){},
      toValue(){}
    });
    

    4.类中的方法不可枚举。

    二:class经典实例

    class Person {
    constructor(name,age){
        this.name=name;
        this.age=age;
    }
    sayname(){
        console.log(this.name);
    }
    }
    
    var person1=new Person("li",23);
    person1.sayname();
    console.log(person1.hasOwnProperty('name')); //true
    console.log(person1.hasOwnProperty('sayname'));  // false
    console.log(person1.__proto__.hasOwnProperty('sayname'));// true
    
    var person2=new Person("han",27);
    console.log(person1.__proto__ === person2.__proto__ );//true
    

    类的所有实例共享一个原型对象。

    class不存在变量提升。

    三:class---private

    1.私有方法

    ES6不支持,变通实现

    方法一:在函数前加_,表示该方法私有

    方法二:将私有方法移出类中。

    方法三:使用symbol----利用Symbol值的唯一性

    2.私有属性

    ES6不支持,变通实现

    方法:属性前加#

    四:补充知识点

    this指向当前对象,一般在构造函数中使用。

    与 ES5 一样,在“类”的内部可以使用getset关键字,对某个属性设置存值函数和取值函数,拦截该属性的存取行为。

    基本内容就这些了 = =;

  • 相关阅读:
    CF321B Solution
    CF722D Solution
    CF729E Solution
    CF1447E Solution
    CF962F Solution
    DropDownList绑定数据
    连接数据库
    jqm随记的东西
    正则表达式过滤超链接内容(.net)
    linq lambda操作list的例子
  • 原文地址:https://www.cnblogs.com/lilight/p/7528306.html
Copyright © 2020-2023  润新知