在 node.js 中的 for 循环中使用类

文章

老实说,我不知道要问我的情况,所以我只会添加一些细节。我来自java,所以我熟悉类。

让我们以一个类为例,为了方便起见,将私有字段放到 public 中,没有 getter 和 setter

class User{
 public String name;
 public String email;
}

这在某些情况下很有用,例如有一组用户,然后我可以使用以下内容:

for(User user: usersList){
   user.name='some new value'
   //since user is a class, code assist, suggests the name and also if I have user.namee it throws an error
}

现在进入javascript,我可以获得一个数组并执行类似的操作

for (let user of usersList){
    user.name='some new value'
    //however if I type user.nammee no error is thrown and code assist does not know what to recomment
}

我想现在你可能明白了。我希望它可以更轻松地通过代码辅助正确获取对象字段,并避免由于属性名称键入错误而导致的键入错误。我所看到的 Javascript 类只有方法……那么在这种情况下我可以应用什么?

特里科特

JavaScript 允许引用对象没有的属性:您可以临时添加它们,如果您读取不存在的属性,您只需获取undefined. 这就是 JavaScript 的工作方式。

如果您想在尝试分配给不存在的属性时出现错误,请考虑使用该Object.seal方法,您可以在类的构造函数中应用方法:

"use strict";
class User{
    constructor (name, email) {
        this.name = name;
        this.email = email;
        // Seal will disallow new properties
        Object.seal(this);
    }
}

const user = new User();

user.name = "Jeff";

console.log(user); // Shows property with "Jeff"

user.nammmeeee = "Jeff"; // Produces error

确保使用严格模式 ( "use strict") 否则这些错误将被抑制。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章