Есть функция на JS:
function getPropertyOfObject(obj) {
return function (keyOne, keyTwo = 'defaultKey') {
if (obj && obj[keyOne] && obj[keyOne][keyTwo]) {
return obj[keyOne][keyTwo]
}
return null
}
}
Которая используется следующим образом
const myObject = {
otherKey: { // рандомный ключ
moreKey: 123, // всегда тип number
defaultKey: 'other data' // разные типы данных, но заранее описан тот тип, что будет конкретно в этом объекте
},
otherMoreKey: { // рандомный ключ
moreKey: 123, // всегда тип number
defaultKey: 'other data' // разные типы данных, но заранее описан тот тип, что будет конкретно в этом объекте
}
}
const getProp = getPropertyOfObject(myObject)
const listMoreKey = getProp('otherKey', 'moreKey')
// так, что бы listKey понимал, что в нем будет тип typeof myObject.otherKey.moreKey | null
const listDefaultKey = getProp('otherMoreKey')
// так, что бы listKey понимал, что в нем будет тип typeof myObject.otherKey.defaultKey | null
Как типизировать эту функцию БЕЗ ИСПОЛЬЗОВАНИЯ значения по умолчанию
keyTwo = 'defaultKey'
я точно знаю и это работает, вопрос как сделать именно с ним.