он так:
const map = new Map([['key', 'value'], ['key', 'value']])
Ключом и значением может быть что угодно. То есть значением может быть массив строк, верно?
Если делаю так:
const map = new Map([['key', ['value 1', 'value 2', 'value 3']]])
То всё отлично. Если же попробую добавить ещё одно значение (просто пара ключ-значение в виде строк), то TypeScript тут же начинает ругаться:
Ни одна перегрузка не соответствует этому вызову.
Перегрузка 1 из 3, "(iterable: Iterable<readonly [unknown, unknown]>): Map<unknown, unknown>", возвратила следующую ошибку.
Аргумент типа "(string | string[])[][]" нельзя назначить параметру типа "Iterable<readonly [unknown, unknown]>".
Типы, возвращаемые "[Symbol.iterator]().next(...)", несовместимы между этими типами.
Тип "IteratorResult<(string | string[])[], any>" не может быть назначен для типа "IteratorResult<readonly [unknown, unknown], any>".
Тип "IteratorYieldResult<(string | string[])[]>" не может быть назначен для типа "IteratorResult<readonly [unknown, unknown], any>".
Тип "IteratorYieldResult<(string | string[])[]>" не может быть назначен для типа "IteratorYieldResult<readonly [unknown, unknown]>".
Тип "(string | string[])[]" не может быть назначен для типа "readonly [unknown, unknown]".
Целевой объект требует следующего числа элементов — 2, но источник может иметь меньше.
Перегрузка 2 из 3, "(entries?: readonly (readonly [string, string])[] | null | undefined): Map<string, string>", возвратила следующую ошибку.
Тип "[string, string, string]" не может быть назначен для типа "string".
Ого, тайпскрипт на русском, это что-то новое
разве странно что перевели?
Странно, бесполезно и вредно
это про использование тайпскрипта как такового? 😝
На провокационные вопросы не реагирую!
дома на рабочей машине так, не брался пока исправлять
Обсуждают сегодня