前端学习-TypeScript入门

JavaScript 是弱类型语言,经常运行是出现因为类型原因导致代码报错。

TypeScript 是 JavaScript 的一个超集,只是在 JavaScript 的基础之上增加了一些类型标记语法;浏览器并不认识 TypeScript,最终还是要编译成 JavaScript 才能执行。

一.为什么要使用 TypeScript?

  1. 使用 TypeScript 定义:IDE 智能提醒,减少代码低级错误。
  2. 修改 TypeScript 定义:修改公共组件、公共方法时,所有受影响使用不对的地方都会有标记。 

二.TypeScript 常用类型定义

  • 布尔值:
    const isDone: boolean = false;
  • 数字:
    const price: number = 6;
  • 字符串:
    const firstName: string = 'Xu';
  • Void:
    function log(a: string): void{
        console.log('test');
    }
    null 和 undefined 只能赋值给 void 或它们各自的类型。
  • undefined & null:

    const a: undefined = undefined;
    const a: null = null;
  • 枚举:

    enum key{
        VIEW = 1,
        EDIT = 2
    }

    枚举对象不能用来遍历,key 值和枚举变量需要大写。

三.数组&对象

数组:

// js 写法
let list = [1, 2, 3];

// 写法一
let list: number[] = [1, 2, 3];

// 写法二:数组泛型
let list: Array<number> = [1, 2, 3];

对象:

// js 写法
let obj = {
    b: 2
}

//直接定义
let obj: {b: number} = {
    b: 2
}

//索引属性
let obj: {[key: string]: number} = {
    b: 2
}

四.类型别名

可选属性:

接口的属性在某些条件才存在,不是必须的;用 ? 表示。

type Obj = {
    a: string;
    b?: number;
};

const obj: Obj = { a: '1' }

函数类型: 

接口也可以描述函数类型。

type Fn = {
    {a: number}: void
};
const log: Fn = function(a){
    console.log(a);
}

五.交叉类型&联合类型

联合类型|):表示其中之一

类型之一:

const a: number|string = 2

具体值之一:

const a: 'blue' | 'red' = 'red';

交叉类型(&):表示叠加在一起

type A = {a: string};
type B = {b: number};

type C = A & B;
//C 等价于
type C = {
    a: string;
    b: number;
}

本文章整理自上课ppt,仅供学习使用。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什巳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值