TS入门

一.了解TS:

  • TS:
    TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持,它由 Microsoft 开发,代码开源于 GitHub 上。它可以编译成纯 JavaScript。编译出来的 JavaScript 可以运行在任何浏览器上。TypeScript 编译工具可以运行在任何服务器和任何系统上。TypeScript 是开源的。
  • 优点:
    (1).TypeScript 是 JavaScript 的超集,.js 文件可以直接重命名为 .ts 即可
    (2).即使没有显式的定义类型,也能够自动做出类型推论
    (3).可以定义从简单到复杂的几乎一切类型
    (4).即使 TypeScript 编译报错,也可以生成 JavaScript 文件
    (5).兼容第三方库,即使第三方库不是用 TypeScript 写的,也(6).可以编写单独的类型文件供 TypeScript 读取
    (7).类型系统增加了代码的可读性和可维护性
    (8).拥有活跃的社区,并且支持ES6规范

二.安装:

typeScript 的命令行工具安装方法如下:
npm install -g typescript
以上命令会在全局环境下安装 tsc 命令,安装完成之后,我们就可以在任何地方执行 tsc 命令了。
编译一个 TypeScript 文件:tsc hello.ts
此时会生成一个编译好的文件 hello.js,TypeScript 只会进行静态检查,如果发现有错误,编译的时候就会报错(仍然会生成js文件)。

三.基础语法:

(1).JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。
原始数据类型包括:布尔值、数值、字符串、null、undefined 以及 ES6 中的新类型 Symbol。

1.布尔值:
使用 boolean 定义布尔值类型:let isDone: boolean = false;
注意:构造函数 Boolean 创造的对象不是布尔值:而是一个 Boolean 对象:
eg:

let createdByNewBoolean: boolean = new Boolean(1);
// index.ts(1,5): error TS2322: Type 'Boolean' is not assignable to type 'boolean'.

在 TypeScript 中,boolean 是 JavaScript 中的基本类型,而 Boolean 是 JavaScript 中的构造函数。其他基本类型(除了 null 和 undefined)一样。

2.数值:

使用 number 定义数值类型
注意:ES6的进制表示法都会被TS编译为10进制,非ES6进制按原进制编译。
eg:

let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;     // ES6 中的二进制表示法
let octalLiteral: number = 0o744;       // ES6 中的八进制表示法
let notANumber: number = NaN;
let infinityNumber: number = Infinity;

被编译后:

var decLiteral = 6;
var hexLiteral = 0xf00d;
var binaryLiteral = 10;     // ES6 中的二进制表示法
var octalLiteral = 484;     // ES6 中的八进制表示法
var notANumber = NaN;
var infinityNumber = Infinity;

3.字符串:

使用 string 定义字符串类型:
let myName: string = 'tan';//编译后:let myName = "tan";

4.空值:

JS 没有空值(Void)的概念,在 TS 中,可以用 void 表示没有任何返回值的函数:
eg:

function alertName(): void {
    alert('My name is tan');
}

注意:void 类型的变量没有什么用,因为你只能将它赋值为 undefined 和 null:let unusable: void = undefined;

5.null 和 undefined:

在 TS 中,可以使用 null 和 undefined 来定义这两个原始数据类型:
eg:

let u: undefined = undefined;
let n: null = null;

6.任意值:

任意值(Any)用来表示允许赋值为任意类型,因此可以赋值为不同类型的值:
eg:

let myFavoriteNumber: any = 'seven';
myFavoriteNumber = 7;

变量如果在声明的时候,未指定其类型,那么它会被识别为任意值类型:
eg:

let something;
something = 'seven';
something = 7;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值