TypeScript 基础语法
TypeScript 的注释
首先我们来看一下注释,注释其实就是对代码的解释和说明,目的是让人们能够更加轻松地了解代码,在代码中添加注释只是为了提高代码可读性,注释不会被计算机编译。
不同的语言中注释格式可能有些不同, TypeScript
中的注释其实和 JavaScript
中的一样,我们来看一下。
TypeScript
的注释分为单行注释和多行注释:
- 单行注释:后面的文字都是注释内容。
// 这是一个单行注释
- 多行注释 : 这种注释可以跨越多行。
/*
这是一个多行注释
这是一个多行注释
这是一个多行注释
*/
在我们将 TypeScript
代码编译成 JavaScript
代码时,注释也会一起编译显示出来。而当我们运行 JavaScript
代码时,会忽略其中的注释代码,注释不会被执行。
示例:
例如在 TypeScript
代码中添加一句注释代码:
let str :string = "侠课岛";
console.log(str);
// 这是一行注释
通过 tsc test.ts
命令编译将之编译成 JavaScript
代码,生成的 test.js
文件内容如下所示:
从图中,我们可以看到当
TypeScript
编译成 JavaScript
代码时注释也会成功被编译。
TypeScript 空白和换行
TypeScript
语言中,会忽略程序中出现的空格、制表符和换行符。空格、制表符等通常用来缩进代码,使代码易于阅读和理解。
示例:
下面的 TypeScript
代码中,在两行代码中间一行空格:
let str:string = "你好侠课岛";
console.log(str);
而在我们将这段代码编译成 JavaScript
后,中间那行空格没有了 :
TypeScript 区分大小写
学过 JavaScript
的同学应该知道,JavaScript
中是区分大小写的,举个例子,例如变量名 Age
和 age
是不一样的。那因为 TypeScript
是 JavaScript
的超集,所以我们能够知道,TypeScript
中也会区分大小写。
因为会区分大小写,所以我们在给变量、函数命名等编码中要特别注意哟,以防出错。
示例:
例如我们定义了一个变量名为 xkd
的变量,使用的是小写字母命名,然后我们使用这个变量时将它写成了大写字母 XKD
:
let xkd:string = "侠课岛";
console.log(XKD);
在 VSCode 中编译代码时会报错,如下所示:
从上图中我们可以看到,在编写代码时,VSCode
编辑器就会用红色波浪线提示我们这里错了,将鼠标放在上面时,会出现错误原因,这是 VSCode
编辑器中的错误提示功能。
如果在终端中执行这个 ts
文件,执行结果同样会告诉我们哪里报错,和报错原因是什么。
命名规范
- 使用
PascalCase
(帕斯卡命名法)为类型命名。 - 不要使用
I
做为接口名前缀。 - 使用
PascalCase
为枚举值命名。 - 使用
camelCase
(骆驼式命名法)为函数命名。 - 使用
camelCase
为属性或本地变量命名。 - 不要为私有属性名添加
_
前缀。 - 尽可能使用完整的单词拼写命名。
帕斯卡命名法:PascalCase
一种计算机编程中的变量命名方法。它主要的特点是将描述变量作用所有单词的首字母大写,然后直接连接起来,单词之间没有连接符。例如 FirstName
、LastName
、Animal
等。
骆驼式命名法:Camel-Case
和 PascalCase
类似,不同的是 Camel-Case
正如它的名字一样,第一个单词的首字母小写,从第二个单词开始以后的每个单词的首字母都采用大写字母。例如 firstName
、fastName
、myFirstName
等。
保留关键字
TypeScript
中的保留关键字如下表所示:
break | as | catch | 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 |
保留关键字是指在高级语言中已经定义过的字,我们不能再将这些作为变量名或函数名使用。
示例:
例如使用关键字 break
作为变量名:
let break:string = "关键字";
执行代码,会输出如下报错信息:
TypeScript 和 JavaScript 的区别
TypeScript
可以使用 JavaScript
中的所有代码和编程概念,TypeScript
是为了使 JavaScript
的开发变得更加容易而创建的。下面是一些 TypeScript
和 JavaScript
的区别:
-
TypeScript
中的数据要求带有明确的类型,JavaScript
不要求,因为TypeScript
是强类型语言,JavaScript
是弱类型语言。 -
TypeScript
通过类型注解提供编译时的静态类型检查。 -
JavaScript
代码可以在无需任何修改的情况下与TypeScript
一同工作,同时可以使用编译器将TypeScript
代码转换为JavaScript
。 -
TypeScript
从核心语言方面和类概念方面的模塑方面对JavaScript
对象模型进行扩展。 -
TypeScript
提供了缺省参数值。 -
TypeScript
引入了JavaScript
中没有的“类”概念。 -
TypeScript
中引入模块的概念,可以把声明、数据、函数和类封装在模块中。