在过去的几年中,Typescript已成为Web开发人员最受欢迎的编程语言之一。
它的受欢迎程度的上升可以归因于它比传统JavaScript所提供的许多好处。
在本文系列中,我将介绍打字稿的基本概念,包括其语法,数据类型,功能,类和模块。
在本文的接下来的一部分中,我将探讨如何在大规模或企业级应用中实施它。
什么是打字稿:
Typescript是一种流行的开源编程语言,可扩展JavaScript的功能。它是JavaScript的类型超集,这意味着它包含JavaScript的所有功能,并为静态键入,类,接口和模块提供了其他功能。
让我们看一下为什么开发人员想要其应用程序代码中的类型。
例如,查看此示例JavaScript代码;
在此示例代码中,我们无法真正确定要传递到函数的参数是数字还是字符串或两者。
如果将A和B解释为数字的人将这个倒置的变化呢?
如果我们决定通过a和b
将字符串通过让我们看一下此代码的打字稿版本:
在这里,我们已将类型注释添加到功能参数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!”的值。然后,它将消息的值记录到控制台。
使用TSC命令将打字稿代码编译为JavaScript:
npx tsc index.ts
编译时创建一个新的index.js
变量和值:
在打字稿中,变量用于存储程序以后在程序中使用的值。像在JavaScript中一样,Typescript具有几种类型的变量,包括VAR,LET和CONST,每个变量均具有自己的属性和用途。
让我们看一下如何将值定义和分配给Typescript中的变量:
在上面的代码示例中,var
关键字用于定义和初始化年龄变量,该变量分配了数值1。
let
关键字用于定义名称变量,后来分配了字符串值“ James Bond”。
最后,const
关键字用于定义和初始化PI常数变量,该变量分配了数值3.142。
如果我们试图给年龄一个与数字不相容的价值,我们会遇到一个错误:
let age: number = 18
age = "not a number"
隐式和类型注释:
变量和函数参数可以具有显式类型注释或任何隐含类型。
当您在代码中明确指定变量或函数参数的类型时,一个明确的类型注释。例如:
在此示例中,myString
具有字符串的显式类型注释,addNumbers
函数具有其参数x和y的明确类型注释,以及其返回类型。
另一方面,当未明确指定变量或函数参数的类型时,使用隐式类型的any
。例如:
在此示例中,myVariable
具有任何隐含类型,因为其类型未明确指定。同样,addValues
函数具有其参数的隐式类型a和b。
功能参数和返回值
要解释这一点,让我们观察此JavaScript代码
在这里,即使从函数的实现中,添加应该接受数字或字符串也不清楚。
如果您使用此功能,则您的编辑工具提示会是什么样:
没有类型注释,添加的参数的任何内容。
让我们的函数的参数添加一些类型的注释:
在打字稿中,我们可以将类型注释添加到功能参数和返回值中,以使我们的代码更加类型安全,并在编译时捕获错误。这是一个示例:
在此示例中,addNumbers
函数采用两个参数x和y,两者都有一种类型的数字。该功能还具有返回类型的数字。
如果我们不提供正确的类型,我们会得到这样的错误
如果我们想专门陈述返回类型,我们可以使用:语法在另一个地方使用:语法
打字稿将确保我们符合此意图,并且错误将在函数声明的位置浮出水面,而不是我们使用函数返回的值的位置。
对象,阵列和元组:
现在,我们知道如何键入简单的变量和函数,让我们的收藏使事情变得更加有趣。在JavaScript中,这意味着对象和数组。
在打字稿中,对象,数组和元组是三个用于存储和操纵数据的常见数据结构。
对象:
打字稿中的对象与JavaScript中的对象相似。它们用于存储键值对,其中键是字符串,并且值可以是任何数据类型。
对象是使用Curly Braces {}
定义的,并且键值对由结肠分开:。
这是如何在打字稿中定义对象的示例:
在上面的示例代码中,我们定义一个具有三个属性的对象:名称,年龄和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