by Anthony Fu @antfu
Traduzido pelo Google, abra um PR para ajudar a melhorar a tradução.
Implemente um MyReadonly2<T, K>
genérico que recebe dois argumentos de tipo T
e K
.
K
especifica o conjunto de propriedades de T
que deve ser definido como Somente leitura. Quando K
não é fornecido, ele deve tornar todas as propriedades somente leitura, assim como o Readonly<T>
normal.
Por exemplo
interface Todo {
title: string
description: string
completed: boolean
}
const todo: MyReadonly2<Todo, 'title' | 'description'> = {
title: "Hey",
description: "foobar",
completed: false,
}
todo.title = "Hello" // Error: cannot reassign a readonly property
todo.description = "barFoo" // Error: cannot reassign a readonly property
todo.completed = true // OK