Javascript中prototype属性详解深入理解Javascript中构造函数和原型对象的区别https://github.com/mqyqingfeng/Blog/issues/2Use of 'prototype' vs. 'this' in JavaScript?

在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例。但是在Javascript语言体系中,是不存在类(Class)的概念的,javascript中不是基于‘类的’,而是通过构造函数(constructor)和原型链(prototype chains)实现的。但是在ES6中提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过​​class​​关键字,可以定义类。基本上,ES6的​​class​​可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的​​class​​写法只是让原型对象的写法更加清晰、更像面向对象编程的语法而已。