Я какое-то время пользовался машинописным шрифтом, и он мне понравился, за исключением части, которую компиляция может занять довольно много времени. Сегодня я обнаружил, что в vscode я мог просто написать js код и добавить некоторые обозначения типов с помощью jsdo c и добавить //@ts-check
в первой строке кода.
, но я у меня не было такой же уверенности в коде, как у меня с ts c с флагом --strictNullCheck.
поэтому, мой вопрос, возможно ли запустить //@ts-check
с strictNullCheck в js -код?
это пример, где я не получил ошибку компиляции:
// type.js
// @ts-check
/**
* @typedef Foo
* @property {string} foo
* @property {string} [bar]
*/
/** @type {Foo} */
const a = { bar: 'test', foo: undefined }; // <- should be compile error
// index.js
import * as T from './type';
/** @type {T.Foo} */
const a = {}; // <- should be compile error
a.foo.replace // <- will be runtime error.