
1 binux Jan 4, 2020 private? |
2 binux Jan 4, 2020 protected? |
3 Justin13 Jan 4, 2020 via Android 做不到 |
4 creanme Jan 4, 2020 感觉你说的有点像 static 呢? |
5 xiaoming1992 OP 感谢大家,是 protected |
6 KuroNekoFan Jan 4, 2020 via iPhone 云了一下感觉可以在 constructor 里用访问器 |
7 H15018327040 Jan 4, 2020 protected 权限的属性实例也能访问吧 |
8 xiaoming1992 OP @H15018327040 #7 可以吗?我看文档不能访问的啊(好像只是在 ts 的语法里限制访问,从 js 引用过来之后强行访问还是可以访问的,好像?我没看过转换后的源码,不过这就够了) |
9 giuem Jan 4, 2020 via iPhone 用 Symbol |
10 xiaoming1992 OP @giuem 不太懂,用 Symbol 的话,难道是 ```Javascript const SymbolProp = Symbol("some prop") class A { [SymbolProp]: "some val"; } ``` 如果是这样的话,我得把 SymbolProp 导出去,子类要用这个属性,还得从这儿导入才能用吗?那这样就有些麻烦了哦 |
12 H15018327040 Jan 4, 2020 @xiaoming1992 protected 是父类子类都能访问,静态属性也能通过实例访问,暂时没有想到满足你需求的解决方案,或者说这个需求有问题。 |
13 H15018327040 Jan 4, 2020 @xiaoming1992 已找到方法,protected static _name 定义一个只在类和子类中不通过实例可以访问的属性,然后在类的构造函数中删除这个属性,那通过 new 产生的实例都没有这个属性,但是可以通过类访问。 |
14 xiaoming1992 OP @H15018327040 谢谢,protected 就可以啊 |
15 H15018327040 Jan 4, 2020 @xiaoming1992 protected 在实例中可以访问 |
16 xiaoming1992 OP @H15018327040 看文档说不可以,自己试了试,也确实不可以啊? |