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

Привет коллеги, заметил в ts в основном модели описывают с

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

8 ответов

19 просмотров

Так проще?

Zhenya-Korneliuk Автор вопроса

Есть разница где создавать поля ?

Класс существует в рантайме, интерфейс - нет. Инстанс класса создаётся только через конструкторы или prototype, а инстансом интерфейса является любой объект, подходящий по форме

{} vs new Smth(...args) Ну и выше тоже верно

Zhenya-Korneliuk Автор вопроса

В общем лучше описывать все через интерфейсы, если не нужна какая-то доп логика?

Есть такая подстава, на которую часто натыкаются люди, переходящие в ts из csharp/java: если ты описал класс Foo, а потом десериализовал пришедший из сети JSON в этот класс, то на самом деле ты просто обманул компилятор и у тебя будет объект с похожими полями, но не экземпляр класса

Zhenya-Korneliuk Автор вопроса

Привет Андрей ))

И тебе не хворать

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно 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
Карта сайта