美文网首页
TypeScript入门

TypeScript入门

作者: lesdom | 来源:发表于2019-08-15 18:02 被阅读0次

定义

TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。
主要提供了类型系统和对 ES6 的支持。

npm install -g typescript // 安装
tsc hello.ts // 编译

基础

原始数据类型

// 布尔值
let isDone: boolean = false;
let createdByNewBoolean: Boolean = new Boolean(1);
let createdByBoolean: boolean = Boolean(1);
// 数值
let decLiteral: number = 6;
// 字符串
let myName: string = 'Tom';
// 空值, 表示没有任何返回值
function alertName(): void {
    alert('My name is Tom');
}
// Null 和 Undefined, undefined 和 null 是所有类型的子类型
let u: undefined = undefined;
let n: null = null;

任意值

任意值(Any)用来表示允许赋值为任意类型。
如果是一个普通类型,在赋值过程中改变类型是不被允许的。但如果是 any 类型,则允许被赋值为任意类型。

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

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

let something;
something = 'seven';
something = 7;

类型推论

TypeScript 会在没有明确的指定类型的时候推测出一个类型,这就是类型推论。

let myFavoriteNumber = 'seven';
myFavoriteNumber = 7;
// 会报错,相当于
let myFavoriteNumber: string = 'seven';
myFavoriteNumber = 7;
// 普通类型更改类型会报错

如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成 any 类型而完全不被类型检查。

let myFavoriteNumber;
myFavoriteNumber = 'seven';
myFavoriteNumber = 7;

联合类型

联合类型(Union Types)表示取值可以为多种类型中的一种。
联合类型使用 | 分隔每个类型。
当 TypeScript 不确定一个联合类型的变量到底是哪个类型的时候,我们只能访问此联合类型的所有类型里共有的属性或方法

let myFavoriteNumber: string | number;
myFavoriteNumber = 'seven';
myFavoriteNumber = 7;

文档

官方文档
非官方中文版
TypeScript入门
github

网站导航

网站导航

相关文章

网友评论

      本文标题:TypeScript入门

      本文链接:https://www.haomeiwen.com/subject/hnwzjctx.html