相关疑难解决方法(0)

DeepReadonly对象打字稿

可以创建这样的DeepReadonly类型:

type DeepReadonly<T> = {
  readonly [P in keyof T]: DeepReadonly<T[P]>;
};

interface A {
  B: { C: number; };
  D: { E: number; }[];
}

const myDeepReadonlyObject: DeepReadonly<A> = {
  B: { C: 1 },
  D: [ { E: 2 } ],
}

myDeepReadonlyObject.B = { C: 2 }; // error :)
myDeepReadonlyObject.B.C = 2; // error :)
Run Code Online (Sandbox Code Playgroud)

这很棒.这两个BB.C是只读的.当我尝试修改D但是...

// I'd like this to be an error
myDeepReadonlyObject.D[0] = { E: …
Run Code Online (Sandbox Code Playgroud)

immutability typescript

14
推荐指数
5
解决办法
3050
查看次数

标签 统计

immutability ×1

typescript ×1