Size: a a a

JavaScript.Ninja

2021 July 27

II

IIII IIII in JavaScript.Ninja
@xanf_ua Может быть у вас есть идеи на этот счёт?)
источник

II

IIII IIII in JavaScript.Ninja
Переслано от IIII IIII
Всем привет
Как так?)
источник

II

IIII IIII in JavaScript.Ninja
Переслано от IIII IIII
Мне надо выразить что это или один интерфейс/тип или другой
источник

OD

Oleh Diian in JavaScript.Ninja
const a: A | B
вы про это?
источник

OD

Oleh Diian in JavaScript.Ninja
или union нужен?
источник

OD

Oleh Diian in JavaScript.Ninja
type A = {id: number}
type B = {a: string}

const a: A|B = {a: 's', id: 1}
источник

II

IIII IIII in JavaScript.Ninja
Трабл в функции
источник

II

IIII IIII in JavaScript.Ninja
источник

ИЕ

Иван Ельцов... in JavaScript.Ninja
насколько я вижу, вы описали что тип А это либо 1 либо 2
источник

ИЕ

Иван Ельцов... in JavaScript.Ninja
когда вы инициируете переменную а в следующей строке, она автоматически становится типа 2
источник

N

Nikita in JavaScript.Ninja
Ничем не становится. Вы туда ещё ее не передали. Внутри функции он вам говорит, что у этого объекта может не быть поля а, так как его тип это позволяет. Соответственно гарантий тут нет, надо сделать проверку
источник

N

Nikita in JavaScript.Ninja
Например if (!a.a) return;
источник

II

IIII IIII in JavaScript.Ninja
Он ругается на обращение к полю a
источник

N

Nikita in JavaScript.Ninja
Сделай проверку, а после нее обращайся
источник

II

IIII IIII in JavaScript.Ninja
Какую проверку то?
источник

IM

Ivan Musenzovy in JavaScript.Ninja
потому что в текущей “const a” недолжно бить поля “a” согласно type A
источник

N

Nikita in JavaScript.Ninja
Вот такую
источник

N

Nikita in JavaScript.Ninja
Переслано от Nikita
Например if (!a.a) return;
источник

II

IIII IIII in JavaScript.Ninja
источник

N

Nikita in JavaScript.Ninja
Да там нет текущей. Внутри функции же обращение. a не объявлена
источник