ReadonlySet
是指只读属性的集合,与C#中的ReadOnlyCollection
(点击此处查看)相同吗?我无法从任何地方找到有关它的文档。请问您能告诉我ReadonlySet
的用途以及如何实现它吗?
let readonly: Readonly<number> = 1;
let readonlySet: ReadonlySet<number> = ???//
ReadonlySet
是指只读属性的集合,与C#中的ReadOnlyCollection
(点击此处查看)相同吗?我无法从任何地方找到有关它的文档。请问您能告诉我ReadonlySet
的用途以及如何实现它吗?
let readonly: Readonly<number> = 1;
let readonlySet: ReadonlySet<number> = ???//
ReadonlySet
类型类似于 Set
,但是它没有add
/ delete
方法,因此元素只能在构造期间添加:
const regular: Set<number> = new Set([1,2,3]);
regular.add(4);
const readonly: ReadonlySet<number> = new Set([1,2,3]);
readonly.add(4) //fails, add not a function
与你提到的C#中的readonlySet不同,Typescript的ReadonlySet实际上不是一个类/构造函数,它只是一种类型。由于Typescript有鸭子类型(duck typing),Set
是ReadonlySet
的一种超类,因此该类型可以进行"类型转换"。这实际上仅用于类型检查,对运行时没有影响。在运行时,它只是一个JavaScript的Set
。
ReadOnlySet
的功能与我在 C#(后端)中使用的ReadOnlyCollection
相同。我没有找到任何相关文档。 - Ramesh Rajendran