写了一个js游戏,里面的变量涉及到速度等隐私数据,怎样写js可以保证不被开发者恶意修改?
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
你在构建函数里写的变量如果不设在this上,就无法在外面修改,如下:
class Vehicle {
constructor(type) {
this.type = type;
// private属性
let speed = 10;
this.getSpeed = () => speed;
}
}
const vehicle = new Vehicle('Test');
vehicle.type = 'Hello' //=> 没问题
vehicle.speed = 15; //=> 不会改构建函数里的`speed`
vehicle.getSpeed(); //=> 10
设在this的属性都是public的,构建函数里的let, var和const都无法在外面修改。
添加回答
举报
0/150
提交
取消