当前位置: 首页 > 科技观察

JavaScript最佳实践的改进

时间:2023-03-12 08:55:13 科技观察

使用默认参数和属性缩写,清理我们的JavaScript代码很容易。在本文中,我们将探讨创建类以及何时创建它们的良好实践。构造函数为了让我们的构造函数更好地工作,我们应该做一些事情。它们是:如果可能的话,在所有的构造函数中初始化所有的成员数据我们应该把它们都放在构造函数中,这样在实例化对象的时候它们都被初始化了。所以我们可以这样写:classPerson{constructor(name){if(this.instance){this.instance={name}}returnthis.instance;}}现在我们确保所有东西都用一个值初始化了。在构造函数中创建一个单例如果我们只需要一个构造函数的一个实例,那么我们可以创建一个单例。例如,我们可以编写如下代码:定义,我们返回我们创建的对象。否则,我们返回设置给this.instance的任何内容。深拷贝优于浅拷贝深拷贝复制所有内容,因此它比浅拷贝要好得多,浅拷贝会留下一些对原始对象的引用。如果我们想要一个真实的副本,那就不好了。所以我们必须编写代码来进行这样的深拷贝:constcopy=obj=>{constcopied={...obj};for(constkofObject.keys(obj)){if(typeofobj[k]==='object'){copied[k]={...copied[k]};copy(copied[k]);}}returncopied;}如果找到嵌套对象,我们只需使用展开运算符复制嵌套对象,并递归地做同样的事情。然后,我们返回我们复制的对象。我们什么时候应该创建一个类?我们不应该总是创建类。在某些情况下,创建一个类是有意义的。为真实世界的对象类建模非常适合为真实世界的对象建模,因为它们对对象的行为进行建模。它们允许我们将实例变量和方法封装到一个包中,分别存储状态和对对象执行操作。建模抽象对象类似地,我们可以使用类来建模抽象对象。它们可用于抽象,这是对不同类型对象的概括。类非常适合持有子类的共享成员,子类可以从它们继承。然而,我们应该保持继承树简单,这样人们就不会被代码搞糊涂了。降低复杂性我们可以使用类来降低程序的复杂性。类非常适合隐藏信息。在JavaScript中,类中还没有私有变量,所以我们必须在方法中隐藏数据。通过这种方式,我们可以最大限度地减少程序不同部分之间的耦合。隐藏实现细节方法也适用于隐藏实现细节。我们可以在方法中隐藏细节,只运行需要的东西。为此,我们可以在方法中嵌套函数和变量。限制变化的副作用因为我们可以隐藏东西,所以我们减少了变化的影响。与隐藏实现一样,可以通过限制方法内更改的影响来隔离更改的影响。隐藏全局数据全局数据可以通过将其放在类的方法中来设为私有。这样,他们就不必暴露在公众面前。我们所要做的就是使用let和const在方法中声明它们。简化参数传递如果我们将相同的参数传递给不同的函数,我们可以将参数变成一个实例变量,将函数变成一个方法。例如,如果我们有:constspeak=(name)=>`${name}spoke`;constgreet=(name)=>`嗨,${name}`;然后,我们可以把这个方法放到我们自己的类中,如下:`嗨,${this.name}`;}}现在,我们不必在任何地方传递名称。我们只需要创建一个Person实例并在不传递任何参数的情况下调用这些方法。综上所述,我们可以创建类来封装数据,把东西打包在一起。但是,我们不应该为所有东西都创建类。此外,我们应该尽可能制作深拷贝而不是浅拷贝。