Sobes.tech
Junior — Senior
49

Типобезопасный доступ к свойствам объекта через функцию

Task condition

Необходимо создать функцию, которая получает объект и строковый ключ, при этом на этапе компиляции должна проверяться принадлежность ключа этому объекту. При попытке вызвать функцию с несуществующим в объекте ключом компилятор должен выдавать ошибку.

const X = { a: 1, b: 2, c: 3, d: 4 };

function getProperty(obj, key) {
  return obj[key];
}

getProperty(X, 'a');
getProperty(X, 'm'); //error