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指的是类,而不是实例

相关推荐
Rainbow_Pearl33 分钟前
Vue2_element 表头查询功能
javascript·vue.js·elementui
此乃大忽悠2 小时前
XSS(ctfshow)
javascript·web安全·xss·ctfshow
江城开朗的豌豆3 小时前
Vuex数据突然消失?六招教你轻松找回来!
前端·javascript·vue.js
好奇心笔记3 小时前
ai写代码随机拉大的,所以我准备给AI出一个设计规范
前端·javascript
江城开朗的豌豆3 小时前
Vue状态管理进阶:数据到底是怎么"跑"的?
前端·javascript·vue.js
我想说一句3 小时前
React待办事项开发记:Hook魔法与组件间的悄悄话
前端·javascript·前端框架
真夜3 小时前
CommonJS与ESM
前端·javascript
G等你下课3 小时前
从点击到执行:如何优雅地控制高频事件触发频率
前端·javascript·面试
Jackson_Mseven3 小时前
面试官:说说 startTransition 和 useDeferredValue?我:我用它一行代码救了首页!
前端·javascript·面试
架构个驾驾3 小时前
从0到1搭建Vue3+Vant移动端项目(一)
前端·javascript·vue.js