面试题答案
一键面试type DeepReadOnly<T> = {
readonly [P in keyof T]: T[P] extends object
? DeepReadOnly<T[P]>
: T[P];
};
type NestedObject = {a: string; b: {c: number; d: {e: boolean}}};
type ReadOnlyNestedObject = DeepReadOnly<NestedObject>;