ES6-类

作者: zhenghongmo | 来源:发表于2020-03-13 16:37 被阅读0次

原型

  • obj.toString()等价于
    window.Object.prototype.toString.call(obj)

    call里面的obj是this

  • 类:拥有相同属性的对象

  • 构造函数:用来创建某个类的对象的函数

类声明

  • 要声明一个类,你可以使用带有class关键字的类名
  • constructor里面写自由属性
  • constructor外面写person类的共有属性
class person{
    constructor(name,age){
        this.name = name;
        this.age = age;
    }
    walk(){
        console.log('走两步')
    }    
}
-------------------
var momo = new person('momo',18)
  • 结果如下:


继承

  • extends 关键字在类声明中用于创建一个类作为另一个类的一个子类。
  • super()用于调用对象的父对象上的函数
class Animals{
    constructor(name){
        this.name = name;
    }
    walk(){
        console.log('走两步')
    }
}
class dog extends Animals{
    constructor(age){
        super() //执行Animals的constructor,将Animals的constructor中的内容弄过来

        this.age = age;
    }
    speak(){
        console.log('旺旺')
    }
}
var p = new dog(3)
  • 运行结果如下:

静态方法

  • static 关键字用来定义一个类的一个静态方法.
  • 静态方法是可以直接用class后面类名调用的方法,例如 person.xxx
class person{
    constructor(name){
        this.name = name;
    }
    static speak(){
        console.log('chinese')
    }
    walk(){
        console.log('walk')
    }
}

person.speak() // 打印出'chinese'

person.walk()  //报错!

相关文章

  • 2019-01-24

    ES6-之 filter

  • es6-类

    前言 最近这两天有点不在状态,感觉有种无形的压力压在身上,变的异常的暴躁了,唉,前端这条路真的走对了吗?算了,敲代...

  • ES6-类

    1.类 class能产生对象的东西就叫类。关键字:new,constructor,get,set,extends,...

  • ES6-类

    原型 obj.toString()等价于window.Object.prototype.toString.call...

  • es6-类

    es6有一种与其他语言中类似的特性:类声明。同时,他也是es6中最简单的形式。 基本的类声明语法 要声明一个类,首...

  • es6-类的继承

  • JavaScript学习 之 版本

    目录 引言 ECMAScript ES5-/-ES6-/-ES7 babelbabel-clibabel-node...

  • es6-函数

    title: es6-函数date: 2018-02-01 21:47:46tags: es6 前言 杭州这周温度...

  • es6-块级作用域绑定

    title: es6-块级作用域绑定date: 2018-01-24 21:32:33tags: es6 前言 花...

  • 高频前端面试题汇总之JavaScript篇-ES6

    ES6-基础 1.let、const、var的区别 (1)块级作用域 块作用域由 { }包括,let和const具...

网友评论

      本文标题:ES6-类

      本文链接:https://www.haomeiwen.com/subject/vpnujhtx.html