扫码关注官方订阅号
新人一枚 求问js中的类到底是什么意思?网上看了资料也是模棱两可,希望大神来解答下,最好结合例子说明下,谢谢了!
认证高级PHP讲师
OK,这里有一个问题需要先确认,你是对javascript中的类概念有疑问?还是仅对“类”这个概念有疑问?
javascript
如果是不了解javascript中的类,那我可以告诉你,他和其他OOP(面向对象编程)语言的类概念别无二致,仅语法上略有不同(这个我相信是好理解的,不同语言的语法当然不同),而且在javascript自身发展的过程中,类的声明方式也有变化,下面举例:
OOP
早期javascript中想要声明一个类,是一种被称为prototype-based的语法风格(个人觉得略诡异),但这种方式一直到现在仍然是主流写法:
prototype-based
var Human = function(gender){ this.gender = gender; }; Human.prototype.say = function(){ console.log('i am ' + gender + ', i say dirty words'); };
然后在ES2015标准诞生后,我们可以用更接近其他OOP语言风格的方式声明类了(明显更容易让程序员接受啊):
ES2015
class Human { constructor(gender) { this.gender = gender; } say() { console.log(`i am ${gender}, i say dirty words`); } }
注,以上两种声明方式的效果/作用是一样的哦,不要被声明方式的不同所迷惑
OK,现在再回到最早的问题,如果你就是压根也不清楚“类”是什么?那我还是建议你先看看OOP中对类的诠释,譬如:Class
这篇解释,在开头的描述我觉得还是很通俗的,他说:
在现实生活中,你常常会发现很多个体事物都具备相同的属性(相同类型)。举个栗子,世界上有超级多的自行车,都长的差不多。每个自行车都是按照相同/相似的图纸制造的,而且都有几乎相同的零件。如果用OO(面向对象)语言来说,你的自行车就是就是一种叫bicycles的类的一个实例(instance)。这个类,就是我们用来生产/制造自行车用的图纸。
OO
bicycles
我翻译的可能不够好,但意思已经足够通俗,希望对你理解问题有帮助
跟 c 语言的类,一样一样的吧
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
OK,这里有一个问题需要先确认,你是对
javascript中的类概念有疑问?还是仅对“类”这个概念有疑问?如果是不了解
javascript中的类,那我可以告诉你,他和其他OOP(面向对象编程)语言的类概念别无二致,仅语法上略有不同(这个我相信是好理解的,不同语言的语法当然不同),而且在javascript自身发展的过程中,类的声明方式也有变化,下面举例:早期
javascript中想要声明一个类,是一种被称为prototype-based的语法风格(个人觉得略诡异),但这种方式一直到现在仍然是主流写法:然后在
ES2015标准诞生后,我们可以用更接近其他OOP语言风格的方式声明类了(明显更容易让程序员接受啊):OK,现在再回到最早的问题,如果你就是压根也不清楚“类”是什么?那我还是建议你先看看
OOP中对类的诠释,譬如:Class这篇解释,在开头的描述我觉得还是很通俗的,他说:
我翻译的可能不够好,但意思已经足够通俗,希望对你理解问题有帮助
跟 c 语言的类,一样一样的吧