安装ts的依赖 npm install -g typescript
实现输出hello world
//代码
var meg:string ="hello world"
console.log(mes)
//执行
tsc demo.ts
node demo.js
TypeScript 与面向对象
class Site {
name(): void {
console.log("Runoob");
}
}
var obj = new Site()
obj.name() // Runoob
基本数据类型
let num: number = 1
console.log('数字类型:', num);
let str: string = "String"
console.log('字符串类型:', str);
let bool: boolean = true
console.log('布尔类型:', bool);
let arr: number[] = [1, 2]
console.log('数组类型:', arr);
let yz: [string, number]
yz = ['Runoob', 1]
console.log('元组类型:', yz);
enum Color { Red, Green, Blue }
let c: Color = Color.Blue
console.log('枚举类型:', c);
function hello(): void {
console.log('用于标识方法返回值的类型,表示该方法没有返回值。:', 'void');
}
hello()
// ts比js多一个特殊的类型 never
Any 任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况。
1、变量的值会动态改变时,比如来自用户的输入,任意值类型可以让这些变量跳过编译阶段的类型检查,示例代码如下:
let x: any
x = 1
console.log(x);
x = 'any'
console.log(x);
x = false
console.log(x);
2、改写现有代码时,任意值允许在编译时可选择地包含或移除类型检查,示例代码如下:
let x: any = 4;
x.ifItExists(); // 正确
x.toFixed(); // 正确
3、定义存储各种类型数据的数组时,示例代码如下:
let arrayList: any[] = [1, false, 'fine'];
arrayList[1] = 100;
其他:写类型的时候还可以定义多个 number | null | undefined;
let x: number | null | undefined;
x = 1; // 运行正确
x = undefined; // 运行正确
x = null; // 运行正确
never 类型
never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。
let x: never;
let y: number;
// 运行错误,数字类型不能转为 never 类型
x = 123;
// 运行正确,never 类型可以赋值给 never类型
x = (()=>{ throw new Error('exception')})();
// 运行正确,never 类型可以赋值给 数字类型
y = (()=>{ throw new Error('exception')})();
// 返回值为 never 的函数可以是抛出异常的情况
function error(message: string): never {
throw new Error(message);
}
// 返回值为 never 的函数可以是无法被执行到的终止点的情况
function loop(): never {
while (true) {}
}