Skip to main content

2793 - Mutable

Answer TestCases

实现一个通用的类型 Mutable<T>,使类型 T 的全部属性可变(非只读)。

例如:

interface Todo {
readonly title: string
readonly description: string
readonly completed: boolean
}

type MutableTodo = Mutable<Todo> // { title: string; description: string; completed: boolean; }

Solution

type Mutable<T extends Record<string, any>> = {
-readonly [K in keyof T]: T[K]
}

-readonly 用于将属性变为非只读