169 похожих чатов

Что делать, если я фильтром почистил все ундефайнед, а ангуляр

дальше ругается, что в следующей после фильтра мапе я не проверил на ундефайнед?

24 ответов

17 просмотров

поставьте ? перед мапом

Taras- Автор вопроса
Sanya Ilyin
поставьте ? перед мапом

да, это долбаные знаки вопроса во всему проекте уже расставлены просто хочу понять логику компилятора, почему я должен ставить знак вопроса, если уже отфильтровал ундефайнед

Taras- Автор вопроса
Andrei
e!==undefined

он не понимает

Taras- Автор вопроса
Volodymyr Murashko
article?.id

так можно сделать, но это для меня после строго типизированных языков выглядит как костыль мы уже знаем что он не ундефайнет, но должны опять проверять на него, что делает код грязней и предыдущий фильтр менее полезным

Taras
screenshot он не понимает

Лишний наверное один !

Andrei
Лишний наверное один !

Хотя там ниже проверяет

Taras
так можно сделать, но это для меня после строго ти...

Вам надо вернуть айдишники статей в массиве?

Taras
screenshot он не понимает

Зачем восклицательный знак после id ?

Taras- Автор вопроса
Approximator
Вам надо вернуть айдишники статей в массиве?

массив обьектов внутри кажого обьект типа article | undefined внутри каждого число типа number | undefined и я пытаюсь как-то красиво это оформить

Taras- Автор вопроса
Taras
id тоже может быть undefined

Так а зачем все равно восклицательный знак, и если у Вас стоил или на тип, то ясно что будет ругать без опшионала. Либо опшионал либо отключать стрикт мод

Taras
массив обьектов внутри кажого обьект типа article ...

А почему не одним map, а цепочкой filter с двумя мапами? Вас сильно напряжет условный оператор внутри единственного map?

Taras- Автор вопроса
Volodymyr Murashko
В c# тоже optional есть

а что будет, если в мапе во время такого опционала выпадет ундефайнед? Оно пропустит этот елемент?

Taras
screenshot он не понимает

всё логично. нужно понимать, как работает цепочка вызовов функции. я не лазил в исходники rxjs, но вангую, что там что то типа объекта, методы которого возвращают сам же объект. + на нём есть свойство value, которое ты мутируешь. и вот ты на каком то этапе фильтром приводишь это value к undefinded, и пробрасываешь его дальше...

Taras- Автор вопроса
Taras- Автор вопроса
Глеб Щукин
всё логично. нужно понимать, как работает цепочка ...

я понял, что до фильтра и после значение будет (number | undefined) и даже если я фильтрую undefined значения, (number | undefined) в (number) не превратиться просто тогда это немного нелогично, зачем нужен вообще фильтр, если после надо все равно ставить знак "?"

Taras
я понял, что до фильтра и после значение будет (nu...

ну так работает js. ты написал цепочку вызовов. она в любом случае отработает до конца, просто без аргумeнта value. ты хочешь, что бы последний filter() не выполнялся, но так не будет.

Taras- Автор вопроса
Глеб Щукин
ну так работает js. ты написал цепочку вызовов. он...

я хочу, чтобы тип менялся типа (number | undefined) => filter => (number)

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта