TypeScript 需要掌握的几个点(学习总结版)!

254 阅读2分钟

1 什么是ts?

答:TypeScript,简称 ts,是微软开发的一种静态的编程语言,它是 JavaScript 的超集。强类型语言

2 js 与 ts 有什么区别?

  • ts 有类型支持,有强大的代码类型提示
  • ts 完全支持js 可以直接转换
  • ts 先编译成js 在执行
  • js 边解析边执行,错误会运行的时候发现

3 ts 的类型

首先 js有的类型ts 都有 number | string | boolean | null | nudefined | symbol | object(数组 对象 函数等对象) ts 新增类型

联合类型

需求:定义变量 可能是string,number 类型,这是 js类型已经无法满足了 语法:

const type: string | number = '2'

类型别名

定义类型的时候类型名往往很长,这个时候就需要在定义个别名,方便书写。 语法

type str = string;
const A :str = '123';

type ts1 = string | number;

const B :ts1 = 123;
const C :ts1 = '123';

数组类型

const data : string[] = ['1','2','3'];
//泛型
const list :Array<string> = ['1','2','3'];

const data1 : number[] = [1,2,3];
//泛型
const list12 :Array<number> = [1,2,3];

函数

const fun  = (a:number,b:number) =>{
  return a + b;
}

函数返回值类型void

场景:

  • 函数没写 return
  • 只写了return ,没有具体返回值
  • return 的是 undefined
// 什么都不写 返回值类型为 void
const Get = ()= >{}

// 如果return之后什么都不写,返回值类型为: void
const Get = () => { return }

可选参数
function Post(a?: number, b?: string) {
  console.log(111);
}
Post();
Post(1);
Post(1, '2');
可选和默认值区别
  • 相同的 :调用函数时,可以少传参数
  • 区别 设置了默认值之后,就是可选的,不写就会使用默认是,可选的参数一定有值
  • 它们不能一起使用

元组

是一种特殊的数组

  • 它约束的元素的个数
  • 约定了特定索引对应的数据类型(any除外)
type D = [string,string,number]
const  data = ['1','20',1]

type E = [string,number];
const data1 :E = ['张三',18]

type F = [string[],number[]];
const data2:F = [['1','2'],[123]]

字面量类型


type A = 'GET'| 'POST'

//正确
const a :A = 'GET'; 
const b :A = 'POST';

//错误
const C :A = 'PUT';

枚举

枚举(enum)的功能类似于字面量类型+联合类型组合的功能,来描述一个值,该值只能是 一组命名常量 中的一个。 在没有 type 的时候,大家都是用枚举比较多的,现在比较少了。

语法:

enum 枚举名 { 可取值1, 可取值2,.. }

使用:

//定义
enum  buttonTye  {'primary','success','warning','danger','info'}
// 使用
buttonTye.danger;
buttonTye.info
// ...

注意:

  • 一般枚举名称以大写字母开头
  • 枚举中的多个值之间通过 ,(逗号)分隔
  • 定义好枚举后,直接使用枚举名称作为类型注解

any 类型

const str:any = 111
const str1:any = '111'

了解更多可查阅官网: www.typescriptlang.org/