Size: a a a

TypeScript — русскоговорящее сообщество

2020 April 23

K

Konstantin in TypeScript — русскоговорящее сообщество
Kot S
Всем привет. Можно ли объявляя интерфейс указать массив из объектов определённой структуры, не объявляя отдельный интерфейс? Что-то типа
interface Root {
 depthOne: {
   depthTwo: { ... }[]
 }[]
}
Опиши структуру там же?
источник

KS

Kot S in TypeScript — русскоговорящее сообщество
Ну вот в таком виде как я написал, ругается на []
Но вроде получилось сделать так
```
interface Root {
 depthOne: Array<{
   depthTwo: Array<{ ... }>
 }>
}

```
источник

K

Konstantin in TypeScript — русскоговорящее сообщество
Array<{ ... structure}>

Так, да
источник

KS

Kot S in TypeScript — русскоговорящее сообщество
Ещё вопрос, как убрать ошибку здесь?
interface Foo {
 bar: string;
 [key: string]: number
}

У меня получилось только если прописать [key: string]: number | string. Но если будет много других полей с другими типами, будет очень неудобно
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in TypeScript — русскоговорящее сообщество
Kot S
Ещё вопрос, как убрать ошибку здесь?
interface Foo {
 bar: string;
 [key: string]: number
}

У меня получилось только если прописать [key: string]: number | string. Но если будет много других полей с другими типами, будет очень неудобно
[key: Exclude<string, 'bar'>]: number - так получится?
источник

KS

Kot S in TypeScript — русскоговорящее сообщество
Ноуп
источник

KS

Kot S in TypeScript — русскоговорящее сообщество
An index signature parameter type cannot be a type alias. Consider writing '[key: string]: number' instead.ts(1336)
источник

МХ

Максим Храмцов in TypeScript — русскоговорящее сообщество
Kot S
Ещё вопрос, как убрать ошибку здесь?
interface Foo {
 bar: string;
 [key: string]: number
}

У меня получилось только если прописать [key: string]: number | string. Но если будет много других полей с другими типами, будет очень неудобно
звучит как будто это вам не нужно
источник

МХ

Максим Храмцов in TypeScript — русскоговорящее сообщество
опишите явно
источник

KS

Kot S in TypeScript — русскоговорящее сообщество
Определить объект, в котором явно определены какие-то поля со своими типами, но есть и другие поля с неизвестными именами. Например приходит объект, в котором есть поле - массив строк, в котором хранятся имена полей этого объекта, которые мне нужны для определённых манипуляций
источник

🦄

🦄 in TypeScript — русскоговорящее сообщество
Kot S
Ещё вопрос, как убрать ошибку здесь?
interface Foo {
 bar: string;
 [key: string]: number
}

У меня получилось только если прописать [key: string]: number | string. Но если будет много других полей с другими типами, будет очень неудобно
Там плясать с бубном нужно. ))
источник

🦄

🦄 in TypeScript — русскоговорящее сообщество
Kot S
Ещё вопрос, как убрать ошибку здесь?
interface Foo {
 bar: string;
 [key: string]: number
}

У меня получилось только если прописать [key: string]: number | string. Но если будет много других полей с другими типами, будет очень неудобно
заигнорь прост
interface Foo {
 // @ts-ignore
    bar: string;
 [key: string]: number
}
источник

KS

Kot S in TypeScript — русскоговорящее сообщество
Ну заигнорить всегда можно) Просто думал есть какая-то конструкция в ts, чтобы такое делать. Ну в любом случае спасибо
источник

🦄

🦄 in TypeScript — русскоговорящее сообщество
Kot S
Ну заигнорить всегда можно) Просто думал есть какая-то конструкция в ts, чтобы такое делать. Ну в любом случае спасибо
в доке есть пример, только с типом any. А это не совсем то, что иногда требуется
источник

KS

Kot S in TypeScript — русскоговорящее сообщество
unknown тоже работает кстати. Ну мб так лучше сделаю, если потом проблемы не всплывут
источник

y

yandexphp in TypeScript — русскоговорящее сообщество
Всем привет ребят. Помогите с проблемой - гуглил и нечего толкого не нашел да и не смог решить проблему.

Хотел сделать перегрузку функции getValue.

function getValue(componentId: string): string;
function getValue(componentId: string, tableId: string, key?: string): string;
function getValue(a: any, b?: any, c?: any): string {
   return "OK";
}

export default getValue;


Падает такая ошибка и как ее решить не понимаю. 😕

Error:(8, 1) TS1128: Declaration or statement expected.
источник

🦄

🦄 in TypeScript — русскоговорящее сообщество
declare function?
источник

y

yandexphp in TypeScript — русскоговорящее сообщество
🦄
declare function?
да
источник

FA

Fedorchuk Artem in TypeScript — русскоговорящее сообщество
Друзья привет!
источник

FA

Fedorchuk Artem in TypeScript — русскоговорящее сообщество
подскажите пожалуйста, как убрать эту ошибку
источник