Я вот не понимаю, для чего всё это? Достаточно минифицировать код и он уже будет нечитаемым. Исходники-то никому и даром не нужны, а уж без нормальных названий переменных и подавно.
function checkAge() {
let age = prompt('Сколько вам лет?', '');
while(isNaN(age) || age === '') {
alert('Было введено не число, попробуйте еще раз');
age = prompt('Сколько вам лет?', '');
}
if (age > 18) return true;
else return confirm('А родители разрешили?');
}
Да, по сути, никак, что логично, почему у класса вообще динамические свойства?
Имхо, тебе будет на порядок легче и быстрее дать им нормальные статичные имены (прим.: getAll, create, getOne) и через глобальный поиск заменить все "уникальные" использования со старыми генерируемыми именами.
Александр Антонов, ожидаемо. Там просто вместо элс надо ещё раз через иф проверку делать на тоже самое. Тс внутри оверлоадной функции не знает, что у неё есть оверлоад и она исходит только из типов аргументов функции, а в данном случае возможна с его точки зрения ситуация, когда ключ может быть массивом, а велъю быть строкой.
Короче, оверлоады в тс дело неблагодарное и желательно обходить их стороной.
Александр Антонов, именно. В лучшем случае они могли бы спрятать эти проверки под копотом тса, но тогда разрабы не могли бы контролировать эти проверки. Впрочем, спрятать их под копот тот ещё гемор.