Typescript基本原理第1部分:
#javascript #编程 #typescript #softwaredevelopment

在过去的几年中,Typescript已成为Web开发人员最受欢迎的编程语言之一。

它的受欢迎程度的上升可以归因于它比传统JavaScript所提供的许多好处。

在本文系列中,我将介绍打字稿的基本概念,包括其语法,数据类型,功能,类和模块。

在本文的接下来的一部分中,我将探讨如何在大规模或企业级应用中实施它。

什么是打字稿:

Typescript是一种流行的开源编程语言,可扩展JavaScript的功能。它是JavaScript的类型超集,这意味着它包含JavaScript的所有功能,并为静态键入,类,接口和模块提供了其他功能。

让我们看一下为什么开发人员想要其应用程序代码中的类型。
例如,查看此示例JavaScript代码;

javascript function

在此示例代码中,我们无法真正确定要传递到函数的参数是数字还是字符串或两者。

如果将A和B解释为数字的人将这个倒置的变化呢?

ts argument

如果我们决定通过a和b

将字符串通过

让我们看一下此代码的打字稿版本:

typescript-function

在这里,我们已将类型注释添加到功能参数A和B以及函数的返回类型中。

通过指定A和B类型编号,Typescript确保只能将数值值传递给该函数作为参数,并且如果使用任何其他类型,它将丢弃汇编错误。

开始使用TypeScript

要开始使用Typescript,您首先需要将其安装在计算机上。可以使用Node软件包管理器(NPM)在您的终端中运行以下命令:

来安装TypeScript:

npm install -g typescript

设置一个简单的打字稿项目:

对于基本的“ Hello,typeScript!”打字稿程序,您可以按照以下步骤操作:

1-为您的项目创建一个新目录,并导航:

`mkdir hello-typescript

CD Hello-Typescript`

2-初始化一个新软件包。

npm init -y

3-将打字稿作为开发依赖性安装:

npm install typescript

4-在项目目录的根目录中创建一个名为index.ts的新文件,并向其添加以下打字稿代码:

Hello World typescript

此代码声明一个称为字符串的消息的变量,并将其分配为“ Hello,World!”的值。然后,它将消息的值记录到控制台。

使用TSC命令将打字稿代码编译为JavaScript:

npx tsc index.ts

编译时创建一个新的index.js

变量和值:

在打字稿中,变量用于存储程序以后在程序中使用的值。像在JavaScript中一样,Typescript具有几种类型的变量,包括VAR,LET和CONST,每个变量均具有自己的属性和用途。

让我们看一下如何将值定义和分配给Typescript中的变量:

typescript-variables

在上面的代码示例中,var关键字用于定义和初始化年龄变量,该变量分配了数值1。

let关键字用于定义名称变量,后来分配了字符串值“ James Bond”。

最后,const关键字用于定义和初始化PI常数变量,该变量分配了数值3.142。

如果我们试图给年龄一个与数字不相容的价值,我们会遇到一个错误:

let age: number = 18
age = "not a number"

隐式和类型注释:

变量和函数参数可以具有显式类型注释或任何隐含类型。

当您在代码中明确指定变量或函数参数的类型时,一个明确的类型注释。例如:

type-annotation

在此示例中,myString具有字符串的显式类型注释,addNumbers函数具有其参数x和y的明确类型注释,以及其返回类型。

另一方面,当未明确指定变量或函数参数的类型时,使用隐式类型的any。例如:

variable

在此示例中,myVariable具有任何隐含类型,因为其类型未明确指定。同样,addValues函数具有其参数的隐式类型a和b。

功能参数和返回值

要解释这一点,让我们观察此JavaScript代码

function

在这里,即使从函数的实现中,添加应该接受数字或字符串也不清楚。

如果您使用此功能,则您的编辑工具提示会是什么样:

javascript-function

没有类型注释,添加的参数的任何内容。

让我们的函数的参数添加一些类型的注释:
在打字稿中,我们可以将类型注释添加到功能参数和返回值中,以使我们的代码更加类型安全,并在编译时捕获错误。这是一个示例:

Typsecipt function with type annotation

在此示例中,addNumbers函数采用两个参数x和y,两者都有一种类型的数字。该功能还具有返回类型的数字。
如果我们不提供正确的类型,我们会得到这样的错误

typescript-error

如果我们想专门陈述返回类型,我们可以使用:语法在另一个地方使用:语法

typescript
这是代码作者预先陈述意图的好方法。

打字稿将确保我们符合此意图,并且错误将在函数声明的位置浮出水面,而不是我们使用函数返回的值的位置。

对象,阵列和元组:

现在,我们知道如何键入简单的变量和函数,让我们的收藏使事情变得更加有趣。在JavaScript中,这意味着对象和数组。

在打字稿中,对象,数组和元组是三个用于存储和操纵数据的常见数据结构。

对象:

打字稿中的对象与JavaScript中的对象相似。它们用于存储键值对,其中键是字符串,并且值可以是任何数据类型。
对象是使用Curly Braces {}定义的,并且键值对由结肠分开:。

这是如何在打字稿中定义对象的示例:

Typescript object

在上面的示例代码中,我们定义一个具有三个属性的对象:名称,年龄和ISSTUDENT。我们可以使用这样的点表示访问人物对象的属性。

console.log(person.name); // Output: James

数组:

Typescript中的数组用于存储相同数据类型的值集合。它们是使用方括号[]定义的,并且值通过逗号分隔。

这是一个示例代码:

// Define an array
let numbers: number[] = [1, 2, 3, 4, 5];

在上面的示例中,我们定义一个名为数字的数组,其中五个类型号元素。
我们可以使用像这样的方括号符号访问数字数组的元素。

console.log(numbers[1]); // Output: 2

元组:

Typescript中的元组用于存储不同数据类型的固定数量值。
它们是使用方括号[]定义的,并按顺序指定值的数据类型,由逗号分隔。

这是一个示例:

// Define a tuple
let employee: [string, number] = ['James', 27];

在上面的示例代码中,我们定义了一个名为“员工”的元组,其中有两个元素:雇员名称的字符串和一个员工年龄的数字。
我们可以使用像这样的方括号符号访问员工元组的元素。

console.log(employee[0]); // Output: James

本文在第2部分中继续..... here