Size: a a a

2021 January 19

V

Vasiliy in pro.js
Наверное, правильным будет extends
источник

RS

Roman Sergeevich in pro.js
Объясняю:
type A = { a: string }
type B = { b: number }

const array: (TypeA | TypeB)[] = []


Как сделать так, чтобы в этот массив можно было положить только TypeA, или только TypeB? По какой-то причине это валидно:
const с: TypeA | typeB = { a: "ss", anyProp: null }
источник

S

Syntax Highlight Bot in pro.js
Roman Sergeevich
Объясняю:
type A = { a: string }
type B = { b: number }

const array: (TypeA | TypeB)[] = []


Как сделать так, чтобы в этот массив можно было положить только TypeA, или только TypeB? По какой-то причине это валидно:
const с: TypeA | typeB = { a: "ss", anyProp: null }
источник

S

Syntax Highlight Bot in pro.js
Roman Sergeevich
Объясняю:
type A = { a: string }
type B = { b: number }

const array: (TypeA | TypeB)[] = []


Как сделать так, чтобы в этот массив можно было положить только TypeA, или только TypeB? По какой-то причине это валидно:
const с: TypeA | typeB = { a: "ss", anyProp: null }
источник

S

Syntax Highlight Bot in pro.js
====================================================
источник

RS

Roman Sergeevich in pro.js
Так стало понятнее?
источник

AG

Anton Golovanov in pro.js
Roman Sergeevich
Объясняю:
type A = { a: string }
type B = { b: number }

const array: (TypeA | TypeB)[] = []


Как сделать так, чтобы в этот массив можно было положить только TypeA, или только TypeB? По какой-то причине это валидно:
const с: TypeA | typeB = { a: "ss", anyProp: null }
С чего валидно то?
источник

V

Vasiliy in pro.js
t1[] | t2[]
источник

RS

Roman Sergeevich in pro.js
мне нужен тип, который описывает "либо только СТРОГО тип А (никаких дополнительных полей), либо СТРОГО тип B (никаких дополнительных полей)
источник

RS

Roman Sergeevich in pro.js
Vasiliy
t1[] | t2[]
нет, мне нужно чтобы были в перемешку
источник

RS

Roman Sergeevich in pro.js
но не смерженные типы, а конкретно А и В
источник

AG

Anton Golovanov in pro.js
Roman Sergeevich
но не смерженные типы, а конкретно А и В
источник

V

Vasiliy in pro.js
Anton Golovanov
С чего валидно то?
утиная типизация дратути
источник

AG

Anton Golovanov in pro.js
Я не понимаю, что вы хотите, вот оно работает как надо. @xandmore3
источник

V

Vasiliy in pro.js
стоп, там же поля не пересекаются
источник

V

Vasiliy in pro.js
все должно работать
источник

RS

Roman Sergeevich in pro.js
источник

RS

Roman Sergeevich in pro.js
Пардон, пример не совсем был верный
источник

AG

Anton Golovanov in pro.js
Да, это я туплю строку в намбер запихнул.
источник

RS

Roman Sergeevich in pro.js
Anton Golovanov
Я не понимаю, что вы хотите, вот оно работает как надо. @xandmore3
Вот из этого примера понятно, в чем проблема? У меня произошло объединение типов, мерж.
источник