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

Ребят, вопрос от дилетанта. Недавно делал тестовое задание на Vue+TypeScript.

Читал много про тайпскрипт, но до конца так и не понял зачем он. Про то, что он еще на этапе компиляции показывает какие-то ошибки с присваиваниями разных типов данных друг другу – это я понял. К сожалению, у меня не так много опыта, чтобы я осознал боль от проверки входных аргументов в функции и методы (именно во Vue). Создается впечатление, что это не очень актуально именно во Vue. Когда делал тестовое, показалось, что плюс в том, что если проект большой и делается большим количеством людей, то TypeScript может выступить в роли документации - подсказки в редакторах кода, какого типа переменные ожидают методы и функции написанные не тобой. Т.е. TypeScript нужен только для документации? Есть еще один вопрос. Ты пишешь фронт, твои коллеги бэкэнд - API. И они возвращаются к примеру json, где одно из полей “id”:1. На стороне клиента, надо все равно как то проверять, что id это число, а не строка вида“id”:”1 “?

3 ответов

11 просмотров

Зачем он? — Статическая типизация и введение типов :)

Я думаю что сразу с тайпскрипта начинать не стоит.

1. статическая типизация в любом случае помогает находить ошибки. ведь помимо vue есть еще твой и чужой код. это полезно. ну и да, это проверки на этапе транспиляции. во время работы программы типы нужно проверять другими средствами. 2. json имеет смысл проверять, потому что бэкендщики могут ошибиться и начать что-то неправильно присылать.

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

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

А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
5
может там как раз сжатие?
Дмитрий
7
Как структуру (из MSVC) в которой описаны битовые поля описать для fasm? Вот например это (fBinary...fDummy2 - это физически 1 DWORD): typedef struct _DCB { DWORD DCBlength;...
Евгений
3
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
9
Всем привет, препод задал вопрос, подскажите пожалуйста, какой адрес инкапсулирует указатель?
Свинка Пеппа
9
Карта сайта