javascript - 求问js 中的类究竟是什么意思?

查看:176
本文介绍了javascript - 求问js 中的类究竟是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

新人一枚 求问js中的类到底是什么意思?网上看了资料也是模棱两可,希望大神来解答下,最好结合例子说明下,谢谢了!

解决方案

OK,这里有一个问题需要先确认,你是对javascript中的类概念有疑问?还是仅对类这个概念有疑问?

如果是不了解javascript中的类,那我可以告诉你,他和其他OOP(面向对象编程)语言的类概念别无二致,仅语法上略有不同(这个我相信是好理解的,不同语言的语法当然不同),而且在javascript自身发展的过程中,类的声明方式也有变化,下面举例:

早期javascript中想要声明一个类,是一种被称为prototype-based的语法风格(个人觉得略诡异),但这种方式一直到现在仍然是主流写法:

var Human = function(gender){
    this.gender = gender;
};

Human.prototype.say = function(){
    console.log('i am ' + gender + ', i say dirty words');
};

然后在ES2015标准诞生后,我们可以用更接近其他OOP语言风格的方式声明类了(明显更容易让程序员接受啊):

class Human {
    constructor(gender) {
        this.gender = gender;
    }
    
    say() {
        console.log(`i am ${gender}, i say dirty words`);
    }
}

注,以上两种声明方式的效果/作用是一样的哦,不要被声明方式的不同所迷惑

OK,现在再回到最早的问题,如果你就是压根也不清楚类是什么?那我还是建议你先看看OOP中对类的诠释,譬如:Class

这篇解释,在开头的描述我觉得还是很通俗的,他说:

在现实生活中,你常常会发现很多个体事物都具备相同的属性(相同类型)。举个栗子,世界上有超级多的自行车,都长的差不多。每个自行车都是按照相同/相似的图纸制造的,而且都有几乎相同的零件。如果用OO(面向对象)语言来说,你的自行车就是就是一种叫bicycles的类的一个实例(instance)。这个类,就是我们用来生产/制造自行车用的图纸。

我翻译的可能不够好,但意思已经足够通俗,希望对你理解问题有帮助

这篇关于javascript - 求问js 中的类究竟是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆