最后的例子不用 proxy 也一样可以呀

来源:2-52 Schema Validation(3)

诺巴蒂

2019-11-21

class Componet {
	constructor() {
		this._id = Math.random().toString(36).slice(-8)
	}
	get id () {
		return _id
	}
}
  1. 这样也没办法修改id,如果用Proxy 为了更保险,不被修改 _id,那 set 应该设置一下return false

  2. 这种随机数是不是相同的几率几乎为0,但还是有

写回答

2回答

快乐动起来呀

2019-11-21

可是你的_id也是暴露的,我只要改这个 id 也就被改了

0
1
诺巴蒂
就是我下面说的,我的 _id 用一个 Symbol
2019-11-21
共1条回复

诺巴蒂

提问者

2019-11-21

或者还可以直接 var _id = Symbol() 通过 this[_id] 的方式使用,这样它也拿不到 _id 这个属性

0
0

再学JavaScript ES(6-10)全版本语法大全

前端无门槛学习,从ES6到ES10,一套课程掌握JS最新语法

1182 学习 · 336 问题

查看课程