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

相关推荐
Mr Xu_1 小时前
Vue 3 中计算属性的最佳实践:提升可读性、可维护性与性能
前端·javascript
子兮曰1 小时前
深入理解滑块验证码:那些你不知道的防破解机制
前端·javascript·canvas
Highcharts.js1 小时前
【Highcharts】如何用命令行渲染导出图片?
javascript·导出·开发文档·highcharts·命令行渲染·命令行功能
陈振wx:zchen20082 小时前
JavaScript
javascript·js
我是伪码农2 小时前
Vue 智慧商城项目
前端·javascript·vue.js
不认输的西瓜2 小时前
fetch-event-source源码解读
前端·javascript
天下代码客4 小时前
使用electronc框架调用dll动态链接库流程和避坑
前端·javascript·vue.js·electron·node.js
冰暮流星5 小时前
javascript之数组
java·前端·javascript
xkxnq5 小时前
第五阶段:Vue3核心深度深挖(第74天)(Vue3计算属性进阶)
前端·javascript·vue.js
三小河5 小时前
Agent Skill与Rules的区别——以Cursor为例
前端·javascript·后端