ES6 Class 类介绍和使用

发布于 2024-11-09 18:14:59 字数 1240 浏览 14 评论 0

基本语法

class Point {
    constructor(x, y) {
        this.x = x;
        this.y = y;
    }
    toString() {
        return '(' + this.x + ', ' + this.y + ')';
    }
}

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

注意:constructor 方法,这就是构造方法,而 this 关键字则代表实例对象。类的数据类型就是函数,类本身就指向构造函数 ,类的所有方法都定义在类的 prototype 属性上面类的内部所有定义的方法,都是不可枚举的(non-enumerable)

在类的实例上面调用方法,其实就是调用原型上的方法

b.constructor === B.prototype.constructor

class Point {
    constructor() {
        // ...
    }
    toString() {
        // ...
    }
    toValue() {
        // ...
    }
}
// 等同于
Point.prototype = {
    constructor() {},
    toString() {},
    toValue() {},
};

class B {}
let b = new B();
b.constructor === B.prototype.constructor // true

constructor 方法

constructor 方法是类的默认方法,通过 new 命令生成对象实例时,自动调用该方法。一个类必须有 constructor 方法,如果没有显式定义,一个空的 constructor 方法会被默认添加

constructor 方法默认返回实例对象(即 this),完全可以指定返回另外一个对象(指向隔壁老王

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

巨坚强

暂无简介

文章
评论
24 人气
更多

推荐作者

github_3h15MP3i7

文章 0 评论 0

静赏你的温柔

文章 0 评论 0

你的呼吸

文章 0 评论 0

微信用户

文章 0 评论 0

心房敞

文章 0 评论 0

醉态萌生

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文