Junior — Senior
50
Типобезопасный доступ к свойствам объекта через функцию
Условие задачи
Необходимо создать функцию, которая получает объект и строковый ключ, при этом на этапе компиляции должна проверяться принадлежность ключа этому объекту. При попытке вызвать функцию с несуществующим в объекте ключом компилятор должен выдавать ошибку.
const X = { a: 1, b: 2, c: 3, d: 4 };
function getProperty(obj, key) {
return obj[key];
}
getProperty(X, 'a');
getProperty(X, 'm'); //error