И меня немного озадачивает то, что в нем нет синтаксиса или типа для указания типа объектов с нулевым прототипом.
Код: Выделить всё
type SpecialObj = {[string]: mixed};
const o: SpecialObj = Object.create(null);
Код: Выделить всё
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ main.js:7:30
Cannot assign Object.create(...) to o because Object.create [1] is incompatible with object
type [2]. [incompatible-type]
4│
5│ export function process(): mixed {
[2][1] 7│ const o: SpecialObj = Object.create(null);
Вопрос 1: прав ли я в этом? (Я проверял документацию, искал на сайте документации и т. д.).
И если мой вывод верен, то вопрос 2: кто-нибудь знает, почему?
Потому что, насколько я помню, TypeScript также не поддерживает нормальное использование Object.create(null) . Почему для таких значений нет специального типа? Не рекомендуется ли их использование?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -prototype
Мобильная версия