ES6的class

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

javascript 复制代码
function Parent(name) {
    this.name = name
}

Parent.prototype.toString = function() {
  return `this is ${this.name}`
}

let parent = new Parent('zhangsan') 
console.log(parent.toString())  // this is zhangsan
javascript 复制代码
class Parent {
    constructor(name) {
      this.name = name
    }
    
    toString() {
      return `this is ${this.name}`
    }
}

let parent = new Parent('zhangsan')
console.log(parent.toString())  // this is zhangsan

typeof Parent // "function"
Parent === Parent.prototype.constructor  // true

类的数据类型就是函数,类本身就指向构造函数。

构造函数的prototype属性在ES6的类上面继续存在,定义在类内部的函数相当于定义在类的prototype属性上,prototype对象的constructor属性,直接指向"类"的本身, 但类内部定义的方法不能枚举

在一个方法前,加上static 关键字,表示该方法不会被实例继承 ,而是直接通过类来调用 ,这就称为**"静态方法"**,静态方法包含this关键字,this指的是类,而不是实例

相关推荐
zhenryx16 小时前
React Native 自定义 ScrollView 滚动条:开箱即用的 IndicatorScrollView(附源码示例)
javascript·react native·react.js·typescript
振华OPPO17 小时前
Vue:“onMounted“ is defined but never used no-unused-vars
前端·javascript·css·vue.js·前端框架
小毛驴85018 小时前
软件原型模式
原型模式
拉不动的猪18 小时前
try...catch 核心与生态协作全解析
前端·javascript·vue.js
摇滚侠19 小时前
Vue 项目实战《尚医通》,预约挂号的路由与静态搭建,笔记36
javascript·vue.js·笔记
码上成长19 小时前
React 18 并发特性:useTransition 和 useDeferredValue 动画级解释
javascript·react.js·ecmascript
G***T69120 小时前
React性能优化实战,避免不必要的重渲染
前端·javascript·react.js
网络点点滴20 小时前
标签的ref属性
前端·javascript·vue.js
Cobyte1 天前
17. Vue3 业务组件库按需加载的实现原理
前端·javascript·vue.js
谢尔登1 天前
原型理解从入门到精通
开发语言·javascript·原型模式