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)。这个类,就是我们用来生产/制造自行车用的图纸。 我翻译的可能不够好,但意思已经足够通俗,希望对你理解问题有帮助
OK,这里有一个问题需要先确认,你是对
javascript
中的类概念有疑问?还是仅对“类”这个概念有疑问?如果是不了解
javascript
中的类,那我可以告诉你,他和其他OOP
(面向对象编程)语言的类概念别无二致,仅语法上略有不同(这个我相信是好理解的,不同语言的语法当然不同),而且在javascript
自身发展的过程中,类的声明方式也有变化,下面举例:早期
javascript
中想要声明一个类,是一种被称为prototype-based
的语法风格(个人觉得略诡异),但这种方式一直到现在仍然是主流写法:然后在
ES2015
标准诞生后,我们可以用更接近其他OOP
语言风格的方式声明类了(明显更容易让程序员接受啊):OK,现在再回到最早的问题,如果你就是压根也不清楚“类”是什么?那我还是建议你先看看
OOP
中对类的诠释,譬如:Class这篇解释,在开头的描述我觉得还是很通俗的,他说:
我翻译的可能不够好,但意思已经足够通俗,希望对你理解问题有帮助