打字稿:并非总是答案
#javascript #typescript #jsdoc

JavaScript是一种多功能且动态的编程语言,允许开发人员构建广泛的应用程序。但是,其动态性质有时会导致错误和错误在开发过程中检测到的错误和错误。为了解决这个问题,开发人员通常会转向类型注释以提供清晰度并确保代码正确。将类型注释添加到JavaScript代码的两种流行方法是JSDOC和Typescript。

了解JSDOC

JSDOC是一种注释语法,可用于注释使用类型信息的JavaScript代码。 JSDOC注释不会由JavaScript编译器强制执行,但是Linters和IDE可以使用它们来提供静态类型检查。
JSDOC注释以@tag的形式编写,标签指定带注释的元素的类型或目的。例如:

/**
 * @type {string}
 */
const randomestring = "42";

JSDOC还支持更复杂的类型注释,例如自定义对象,数组和功能签名。

/**
 * @typedef {Object} Foo
 * @property {string} bar
 * @property {number} nda
 */

/**
 * @type {Foo[]}
 */
const randomObj = [
  { bar: "the answer to life, universe and everything", nda: 42 },
  { bar: "random string", nda: 25 }
];

/**
 * @param {Foo} obj
 * @returns {string}
 */
function randomFunction(obj) {
  return `${obj[0].bar} is ${obj[0].nda}.`;
}

了解打字稿

打字稿是类固醇上的JavaScript,在语言中添加了可选的静态键入和其他强大功能。它允许开发人员编写更严格的JavaScript形式,该形式有助于编写较少的易错代码。

打字稿需要在执行之前进行编译。

interface Foo {
  bar: string;
  nda: number;
}

const randomObj: Foo[] = [
  { bar: "the answer to life, universe and everything", nda: 42 },
  { bar: "random string", nda: 25 }
];

function randomFunction(obj: Foo): string {
  return `${obj[0].bar} is ${obj[0].nda}.`;
}

JSDOC与打字稿:选择正确的方法

  • 方案#1如果您使用的是Next.js或Vue之类的框架,则总会有一个构建步骤。因此,您可以忽略JSDOC并使用Typescript。
  • JSDOC是与打字稿相比,在没有汇编步骤的情况下,更快的运输至关重要。此外,在与第三方JavaScript库一起工作时,它证明是有益的,而无需打字稿支持,处理小型项目或脚本,以及在现有JavaScript Codebases中添加类型注释,而不是在Tyxcript中重写。

有用的链接