javascript - 如何在javascript中制作对象
问题描述
我怎样才能在javascript中做到这一点?(正确添加 getter 和 setter)
public class User {
private UUID uuid;
private String nickName;
private double coins;
private int level;
private float exp;
public User(UUID uuid) {
this.uuid = uuid;
this.nickName = null;
this.coins = 0D;
this.level = 1;
this.exp = 0F;
}
}
解决方案
在 JavaScript 中,您不需要先创建一个类来创建对象。Javascript 对象是一个关联数组,它还可以包含函数:
// example of JavaScript object
const user = {
uuid: "user-identifier",
nickname: null,
// ...
}
当然,您可以定义一个返回对象的函数。如果需要,您可以将该函数视为构造函数,但它只是一个返回对象的函数。函数闭包允许您定义私有变量。
function User (uuid) {
let coins = 0; // Visible only inside this function
return {
uuid: uuid,
nickname: nickname,
getCoins: function () { return coins }
}
}
继承是 Javascript 中的原型:您获取一个对象并创建一个继承其所有属性的新对象。
const parentObject = {/*key-value-pairs*/};
const childObject = Object.create(parentObject);
JavaScript 有一个新的运算符,可以更轻松地处理继承并使函数看起来像一个类。
最近还向 JavaScript 添加了一个类语句,但它只是原型模式的语法 shugar。
考虑到这一点,我建议您阅读这篇文章以全面介绍 JavaScript 对象。
推荐阅读
- python - PIP 安装的项目不想在 Windows 10 中工作
- python - 关于 Python 中的列表切片
- r - 在没有ggplot的情况下从最低到最高重新排列R中的条形图
- python - Python 多继承 super__init__(**kwargs)
- ruby-on-rails - 如何使用 Ruby 语法获取新迁移文件的文件名
- node.js - 如何使用 SavedModel 在 Tensorflowjs 中读取 predict() 结果
- javascript - Jest Test - 监视命名模块构造函数
- spring - 在两个偏移时间之间选择实体
- python - Python:为什么我不能在使用 .tail() 方法调用数据帧的最后一行时使用 plot ,但是在使用 iloc 定义它工作的行时?
- c - 为什么使用设置参数调用函数不会产生预期的输出?