TypeScript学习笔记
标题一、安装 TypeScript
npm install -g typescript
二、查看 TypeScript版本号
tsc -v
三、TypeScript文字转成JavaScript文件
单个转换:tsc app.ts
多个转换:tsc app1.ts app2.ts app3.ts
四、TypeScript 保留关键字
break:跳出语句
as:使用于类型断言
switch、case:选择语句
try:语句测试代码块的错误
catch:语句处理错误
throw:语句创建自定义错误
finally:语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行
if-else:判断语句
var、let:声明变量,let 是在代码块内有效,var 是在全局范围内有效
number:数字类型
string:字符串类型
instanceof:运算符用于判断对象是否为指定的类型,后面章节我们会具体介绍它。
typeof:是一元运算符,返回操作数的数据类型。
public:公有
private:私有
enum:枚举型
export:在命名空间或模块中,使用 export 来暴露方法或变量
for-in、while、do-wile:循环
continue:进入下一个循环
void:一般用于方法,表示没有返回值。
null:用于变量值,表示该变量没有指向。
super:父对象
this:代表自己
new:创建对象
return:返回值或退出
true、false:布尔值
any:任意类型
extends:接口继承接口、类继承类
static:静态
const:声明一个只读的常量,一旦声明,常量的值就不能改变。
implements:类实现接口
interface:用于定义接口
function:用于定义函数
type:设置类型的别名
get:设置类的get方法
set:设置类的set方法
abstract:用于声明抽象类或抽象方法
五、分号是可选的
单行指令单独一行,分号可选
console.log("Hello World")
console.log("Hello World");
多行指令写在一行上要用分号隔开,同一行的最后一个指令分号可选
console.log("Hello World"); console.log("Hello World")
六、TypeScript 区分大小写
TypeScript 区分大写和小写字符。
七、TypeScript 注释
单行注释 ( // ) − 在 // 后面的文字都是注释内容。
多行注释 (/* */) − 这种注释可以跨越多行。
八、TypeScript 基础类型
1、任意类型:any
声明为 any 的变量可以赋予任意类型的值。
2、数字类型:number
双精度 64 位浮点值。它可以用来表示整数和浮点数。
3、字符串类型:string
使用单引号(')或双引号(")来表示字符串类型。
字符串模版:反引号(`)来定义多行文本和内嵌表达式, ${} 内部是引用的变量。
let school: string = "广州第一初级中学";
let num: number = 1;
let MyStr: string = `您好,我是${
school}的学生,我在${
num+1}班`;
console.log(MyStr);
4、布尔类型:boolean
表示逻辑值:true 和 false。
5、数组类型:类型[ ]
声明变量为数组。
6、元组:[类型1, 类型2, 类型3]
元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同,位置不同赋值失败。
let x: [string, number];
x = ['学习', 1]; // 运行正常
x = [1, '学习']; // 报错
console.log(x[0]); // 输出 学习
7、枚举:enum
枚举类型用于定义数值集合。
8、空类型:void
用于标识方法返回值的类型,表示该方法没有返回值。
9、空指向类型:null
表示对象值缺失,表示没有指向,表示没有引用。
10、未定义类型:undefined
用于初始化变量为一个未定义的值。
11、从不出现的类型:never
never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。
never 在函数中它通常表现为抛出异常或无法执行到终止点(例如无限循环)。
九、TypeScript 变量声明
变量名可以包含数字和字母,且除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符和空格。
变量名不能以数字开头。
声明变量的类型及初始值:var [变量名] : [类型] = 值;
声明变量的类型,没有初始值:var [变量名] : [类型] ;
声明变量没有设置类型和初始值,类型可以是任意类型,默认初始值为 undefined, 如:var [变量名];
在声明变量没有设置类型和初始值时,编译器会用第一次赋值的类型,设置变量的类型之后再赋值其他类型会报错。
变量不要使用 name 否则会与 DOM 中的全局 window 对象下的 name 属性出现了重名。
十、TypeScript 类型断言
语法格式:<类型>值或 值 as 类型
当 S 类型是 T 类型的子集,或者 T 类型是 S 类型的子集时,S 能被成功断言成 T。
类型断言用于手动指定一个值的类型,即使这个值的类型看起来不符合断言的类型。
类型断言可以用来告诉TypeScript编译器,你确信一个变量的类型与编译器推断的类型不同。
它之所以不被称为类型转换,是因为转换通常意味着某种运行时的支持。
类型断言纯粹是一个编译时语法,同时,它也是一种为编译器提供关于如何分析代码的方法。
let x: any = "this is a string";
let y: number = x as number; // 使用类型断言将 'x' 断言为 'number'
console.log(y);
console.log(typeof (y));
输出:
this is a string
string
十、TypeScript 联合类型
用联合类型声明变量,可以预设可能会出现的多个类型,可用 | 隔开多个类型
let x : number | string | boolean; //表示变量 x 可以接收这三种类型的数据。
十一、TypeScript 变量作用域
1、全局作用域
全局变量定义在程序结构的外部,它可以在你代码的任何位置使用。
2、类作用域
这个变量也可以称为 字段。类变量声明在一个类里头,但在类的方法外面。
该变量可以通过类的对象来访问。类变量也可以是静态的,静态的变量可以通过类名直接访问。
3、局部作用域
局部变量,局部变量只能在声明它的一个代码块(如:方法)中使用。
十二、TypeScript 循环语句
for 循环
var sum: number = 0;
for (var i = num; i <= 5; i++) {
sum += i;
}
console.log(sum);
for…in 循环,用于一组值的集合或列表进行迭代输出
for (var val in list) {
// val 需要为 string 或 any 类型。
//语句
}
for…of循环,创建一个循环来迭代可迭代的对象
在 ES6 中引入的 for…of 循环,以替代 for…in 和 forEach() ,并支持新的迭代协议。
原文地址:https://blog.csdn.net/SSIrreplaceable/article/details/140386444
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!