javascript - 类应该替换 javascript 中的构造函数吗?

标签 javascript class ecmascript-6

据我所知,类只是旧式构造函数的语法糖。这是否意味着我应该用类完全替换构造函数? 示例:

构造函数

function person(name,age) {
	this.name = name;
	this.age = age;
}
person.prototype.logAll = function() {
	console.log(this.name,this.age);
};

var rachel = new person("Rachel Green", 52);
rachel.logAll();

class person {
	constructor(name,age) {
		this.name = name;
		this.age = age;
	}
	logAll() {
		console.log(this.name,this.age);
	}
}

var rachel = new person("Rachel Green", 50);
rachel.logAll();
这两个是完全等价的吗?

最佳答案

这取决于您使用它们的目的。不要忘记许多旧版浏览器不支持类,因此如果您正在编写需要在大多数浏览器中运行的客户端 JS,通常最好坚持使用旧版 JS 样式代码。

如果您不关心旧浏览器,或者这是服务器端 JS,那么我会使用类。

对于大多数开发人员(JS 之外)来说,类更容易理解,而且(意见)它们更简单,编写起来也更漂亮。

顺便说一句,我最近写了很多 ES6 JavaScript,对我来说它感觉像是一个成熟得多的 JS 版本(不要喷我)。老实说,只要有意义,并且不会影响您的可交付成果,请尝试使用新功能;这就是他们在那里的目的!

关于javascript - 类应该替换 javascript 中的构造函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41805219/

相关文章:

javascript - Angular UI 引导 typeahead ngmodel 在清除字段时显示 null

javascript - 根据主要复选框选择影响辅助单选按钮

javascript - 使用 e.target.name setState 意外标记

javascript - 我如何将循环/递归与 promise 链一起使用?

Java动态类加载器

javascript - import 语句中的解构赋值

javascript - 如何将组件拖放到第一个单词

javascript - 为什么在 array.map() 中会多次生成 React-Tooltip?

c++ - 无法创建抽象类的实例

java - 如何在 Object 类中创建 Next() 方法