В TypeScript можно получить тип одного из ключей объекта и использовать его в качестве аргумента функции, используя ключевое слово keyof
и индексированные типы.
Предположим, у нас есть объект obj
, и мы хотим получить тип одного из его ключей и использовать его в функции doSomething
.
const obj = { key1: 'value1', key2: 'value2', key3: 'value3' }; function doSomething(key: keyof typeof obj) { // ... }
В этом примере мы используем keyof typeof obj
для получения типа всех возможных ключей объекта obj
. Затем мы используем этот тип в качестве аргумента key
в функции doSomething
.
При вызове функции doSomething
мы можем передать любой допустимый ключ объекта obj
:
doSomething('key1'); // valid doSomething('key2'); // valid doSomething('key3'); // valid doSomething('key4'); // invalid - ключ 'key4' отсутствует в объекте obj
Использование типа ключа объекта в аргументе функции позволяет нам обеспечить типовую безопасность, чтобы TypeScript проверял, что переданный ключ является действительным ключом объекта obj
. Таким образом, мы можем избежать ошибок, связанных с передачей недопустимых ключей.