вообще добавлять такие типы? 
                  
                  
                  
                  
                  
                  /**
                  
                  
                   * инициализация основых типов
                  
                  
                   * @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 я трогал, но самый примитив непродолжительное время на маленьком проекте.
                  
                  
                
Не стоит абсолютно
в примере вообще какой-то бред. зачем?
я тоже думал что это нужно, пока не проверил сам. Но допустим здесь уже больше смысла, так как если не добавить тип, то добавление метода toFixed не покажет ошибку: /** @type {ComputedString} */ const supplyName = computed(() => contragent.value?.[0]?.name); const supplyNameValue = supplyName.value.toFixed(2);
Нету смысла Абсолютно
дак тс сам это все выводит. зачем с джсдок ебаться?
с computed не выводит
Обсуждают сегодня