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

Кто знаком c JSDoc? или в TS спец) Стоит ли

вообще добавлять такие типы?

/**
* инициализация основых типов
* @typedef {import('vue').Ref<string>} RefString
* @typedef {import('vue').Ref<number>} RefNumber
* @typedef {import('vue').Ref<boolean>} RefBoolean
* @typedef {import('vue').Ref<array>} RefArray
* @typedef {import('vue').Ref<Date>} RefDate
* @typedef {import('vue').ComputedRef<string>} ComputedString
* @typedef {import('vue').ComputedRef<number>} ComputedNumber
*/

/**
* @type {RefNumber}
*/
const step = ref(0);

Даже если убрать @type {RefNumber}, то ts в VSCode все равно подсвечивает ошибку если я напишу step.value = 'qwerty':
Type 'string' is not assignable to type 'number'

Сейчас думаю может их вообще не добавлять в константы и переменные, чтобы не раздувать код, если только только ради комментирования JSDoc, но это тоже мало где нужно, и так понятно по названию.
С функциями JSDoc помогает: сделать описание в комментарии, и без указания типов аргументы будут any. Хотя сами typedef c Ref-ами конечно нужны, так как они могут быть и в функциях(@param, @returns) и в computed-функциях. Можно ли @typedef-ы глобально как-то инициализировать, чтобы не делать это в каждом модуле? Мне, кажется, нет.
Сам TS я трогал, но самый примитив непродолжительное время на маленьком проекте.

7 ответов

25 просмотров

Не стоит абсолютно

в примере вообще какой-то бред. зачем?

Eugen-Blizzart Автор вопроса
Дмитрий Москаленко
в примере вообще какой-то бред. зачем?

я тоже думал что это нужно, пока не проверил сам. Но допустим здесь уже больше смысла, так как если не добавить тип, то добавление метода toFixed не покажет ошибку: /** @type {ComputedString} */ const supplyName = computed(() => contragent.value?.[0]?.name); const supplyNameValue = supplyName.value.toFixed(2);

Eugen Blizzart
я тоже думал что это нужно, пока не проверил сам. ...

дак тс сам это все выводит. зачем с джсдок ебаться?

Eugen-Blizzart Автор вопроса

с computed не выводит

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта