JavaScript 定义类的方法:ES5 构造函数与 ES6 Class 详解
本文详解 JavaScript 中定义类的两种主要方式。ES5 通过构造函数结合原型链实现,将方法置于原型以共享内存;ES6 引入 class 关键字简化语法,需修正常见定义错误。文章提供完整代码示例及在线测试工具,帮助开发者掌握面向对象编程核心技巧。
本文详细介绍 JavaScript 中定义类的具体实现方式,供读者参考学习。
ES5 标准下的类定义方法
首先介绍 ES5 标准下的类定义方式。
<script>
function Point(x,y){
this.x=x;
this.y=y;
}
Point.prototype.toString=function(){
return '('+this.x+', '+this.y+')';
}
var point=new Point(1,2);
console.log(point);
</script>
代码运行结果如下。

上述采用构造函数与原型混合的模式定义类,旨在使每次通过 new 关键字创建新实例时,能够共享方法,避免为每个实例重复创建 function 函数。因此,仅将函数属性定义在原型对象中,而其余属性均在构造函数内部定义。
ES6 简化类的定义方法
在 ES6 标准中,类的定义方法得到了简化。
<script>
class Point{
constructor(x,y){
this.x=x;
this.y=y;
}
toString(){
return '('+this.x+', '+this.y+')';
}
}
let point=new Point(3,4);
console.log(point);
</script>
代码运行结果如下。

需要注意:类名的首字母必须大写。
另外,原文代码中 class Point(x,y) 这种定义方式会导致运行错误,本文已对此进行修正。
感兴趣的朋友可以使用在线 HTML/CSS/JavaScript 代码运行工具:http://tools.jb51.net/code/HtmlJsRun 测试上述代码的运行效果。
更多关于 JavaScript 相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》。
希望本文所述对大家进行 JavaScript 程序设计有所帮助。
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
