TypeScript 学习记录(一)基本类型

1. 安装

命令:npm i -g typescript
检查是否安装完成:tsc (ts完全兼容js)

2. 基础类型及代码

(1)基础类型声明方式

// 数字类型
let num: number;
num = 10;
// num = 'hello' 会报错

// 字符串类型
let str: string = 'hello';

// boolean类型
let bool: boolean = false;

// any 任意类型,可以赋值给任意变量,相当于关闭类型检测
let an1: any; // 显式声明方式
let an2; // 隐式声明方式

// unknown 未知类型值,类型安全的any
// 不能直接赋值给其他变量
let uk: unknown;
let str: string; uk = str

// void 表示函数没有返回值
function fn(): void {}
function fn1(): void { return; }
function fn2(): void { return undefined; }
function fn3(): void { return null; }

// never 永远不会返回结果
function fns(): never { throw new Error('error'); }

// object 表示一个js对象
let o: object;
o = {};
let o2: {};

// array 数组类型声明
let arr: string[];
arr = ['a', 'b', 'c']
let arr2: number[];
let arr3: Array<number>;

// tuple 元组,固定长度数组,效率高
let tup: [string, string]
tup = ['a', 'b']
let tup1: [string, number]
tup1 = ['a', 3]

// enum
enum Gender { Male = 0, Female = 1 }
let i = {gender: Gender.Male}
console.log(i.gender === Gender.Male)

(2)更复杂的声明方式

// 字面量直接进行类型声明
let a: 10;
a = 10;
// a = 11; 会报错,声明后值不能在修改

// 联合类型,可以使用|链接多个类型
let b: "male" | "female"
b = "male";
b = "female";
// b = "hello"; 会报错,没有此类型值

// 类型断言,告诉解析器变量实际类型
let d: any;
let d = a as number;
let d = <number>a;

// {} 用来指定可以包含那些属性, ?表示可选属性
let o3: { name: string, age?: number };
o3 = { name: 'jack' };
// [propName: string]: any 任意类型属性,任意多个,propName可以是任意字符串
let o4: { name: string, [propName: string]: any };
o4 = { name: 'jack', age: 18, gender: 'male' };
// &符号
let o5: {name: string} & {age: number};
o5 = {name: 'jack', age: 18}

// 函数
let f: (a: number, b: number) => number;
f = function (n1: number, n2: number): number { return n1 + n2; }

// 类型别名
type myType = 1 | 2 | 3 | 4 | 5;
let k: myType;

简单记录下学习~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值