TypeScript - 基本语法
语法定义了一组编写程序的规则。 每种语言规范都定义了自己的语法。 TypeScript 程序由以下部分组成−
- 模块
- 函数
- 变量
- 语句和表达式
- 注释
您的第一个 TypeScript 代码
让我们从传统的"Hello World"示例开始 −
var message:string = "Hello World" console.log(message)
编译时,它将生成以下 JavaScript 代码。
//Generated by typescript 1.8.10 var message = "Hello World"; console.log(message);
第 1 行通过名称 message 声明一个变量。 变量是一种在程序中存储值的机制。
第 2 行将变量的值打印到提示符中。 这里,控制台指的是终端窗口。 函数log()用于在屏幕上显示文本。
编译并执行 TypeScript 程序
让我们看看如何使用 Visual Studio Code 编译和执行 TypeScript 程序。 请按照下面给出的步骤操作 −
步骤 1 − 使用 .ts 扩展名保存文件。 我们将文件保存为 Test.ts。 当您保存代码时,代码编辑器会标记代码中的错误(如果有)。
步骤 2 − 右键单击 VS Code 浏览窗格中"工作文件"选项下的 TypeScript 文件。 选择"在命令提示符中打开"选项。
步骤 3 − 要编译该文件,请在终端窗口中使用以下命令。
tsc Test.ts
步骤 4 − 该文件被编译为 Test.js。 要运行编写的程序,请在终端中键入以下内容。
node Test.js
编译器标志
编译器标志使您能够在编译期间更改编译器的行为。 每个编译器标志都会公开一个设置,允许您更改编译器的行为方式。
下表列出了与 TSC 编译器相关的一些常见标志。 典型的命令行用法使用部分或全部开关。
S.No. | 编译器标志 & 描述 |
---|---|
1. | --help 显示帮助手册 |
2. | --module 加载外部模块 |
3. | --target 设置目标 ECMA 版本 |
4. | --declaration 生成额外的 .d.ts 文件 |
5. | --removeComments 从输出文件中删除所有注释 |
6. | --out 将多个文件编译成单个输出文件 |
7. | --sourcemap 生成源映射(.map)文件 |
8. | --module noImplicitAny 禁止编译器推断任何类型 |
9. | --watch 监视文件更改并即时重新编译 |
注意 − 可以一次编译多个文件。
tsc file1.ts, file2.ts, file3.ts
TypeScript 中的标识符
标识符是为程序中的元素(如变量、函数等)赋予的名称。标识符的规则是 −
标识符可以包含字符和数字。 但是,标识符不能以数字开头。
标识符不能包含除下划线 (_) 或美元符号 ($) 之外的特殊符号。
标识符不能是关键字。
它们必须是唯一的。
标识符区分大小写。
标识符不能包含空格。
下表列出了一些有效和无效标识符的示例 −
有效标识符 | 无效标识符 |
---|---|
firstName | Var |
first_name | first name |
num1 | first-name |
$result | 1number |
TypeScript - 关键字
关键字在语言上下文中具有特殊含义。 下表列出了 TypeScript 中的一些关键字。
break | as | any | switch |
case | if | throw | else |
var | number | string | get |
module | type | instanceof | typeof |
public | private | enum | export |
finally | for | while | void |
null | super | this | new |
in | return | true | false |
any | extends | static | let |
package | implements | interface | function |
new | try | yield | const |
continue | do | catch |
空格和换行符
TypeScript 会忽略程序中出现的空格、制表符和换行符。 您可以在程序中自由使用空格、制表符和换行符,并且可以以整洁一致的方式自由设置程序的格式和缩进,使代码易于阅读和理解。
TypeScript 区分大小写
TypeScript 区分大小写。 这意味着 TypeScript 区分大小写字符。
分号是可选的
每一行指令称为语句。 在 TypeScript 中分号是可选的。
示例
console.log("hello world") console.log("We are learning TypeScript")
一行可以包含多个语句。 但是,这些语句必须用分号分隔。
TypeScript 中的注释
注释是提高程序可读性的一种方法。 注释可用于包含有关程序的附加信息,例如代码作者、有关函数/构造的提示等。编译器会忽略注释。
TypeScript 支持以下类型的注释 −
单行注释 ( // ) − // 和行尾之间的任何文本都被视为注释
多行注释 (/* */) − 这些注释可能跨越多行。
示例
//this is single line comment /* This is a Multi-line comment */
TypeScript 和面向对象
TypeScript 是面向对象的 JavaScript。 面向对象是一种遵循现实世界建模的软件开发范例。 面向对象将程序视为对象的集合,这些对象通过称为方法的机制相互通信。 TypeScript 也支持这些面向对象的组件。
Object(对象) − 对象是任何实体的实时表示。 根据 Grady Brooch 的说法,每个物体都必须具有三个特征 −
State(状态) − 通过对象的属性来描述
Behavior(行为) − 描述对象将如何行动
Identity(身份) − 将一个对象与一组类似的对象区分开来的唯一值。
Class(类) − OOP 中的类是创建对象的蓝图。 类封装了对象的数据。
Method(方法) − 方法促进对象之间的通信。
示例:TypeScript 和面向对象
class Greeting { greet():void { console.log("Hello World!!!") } } var obj = new Greeting(); obj.greet();
上面的示例定义了一个类Greeting。 该类有一个方法greet ()。 该方法在终端上打印字符串"Hello World"。 new 关键字创建该类的一个对象 (obj)。 该对象调用方法greet ()。
编译时,它将生成以下 JavaScript 代码。
//Generated by typescript 1.8.10 var Greeting = (function () { function Greeting() { } Greeting.prototype.greet = function () { console.log("Hello World!!!"); }; return Greeting; }()); var obj = new Greeting(); obj.greet()
上述程序的输出如下 −
Hello World!!!