TypeScript基础

本文详细介绍了TypeScript的基础知识,包括强弱类型、Flow、静态和动态类型等。接着,深入探讨了TypeScript的数据类型,如任意类型any、object、数组、元组和枚举。同时,讲解了作用域、断言、接口、类、泛型和类型声明等关键概念,帮助开发者更好地理解和应用TypeScript。
摘要由CSDN通过智能技术生成

一、TypeScript

1.基础知识

(类型安全角度)强弱类型:强类型不允许随意的隐式类型转换,而弱类型允许。
(类型检查角度)静态类型和动态类型:静态类型在声明时已明确且类型不可再修改,动态类型在运行阶段才可确定,且可随意改变

var a = 100;
a = 'foo'
console.log(a) //a的类型在运行时才可确定且可以修改

Flow

Flow官网
Flow类型速查单

  1. 类型注解
    为变量、返回值、参数定义相关的类型
let num: number = NAN	//指定变量类型,可以存放NAN以及Infinity表示无穷大
let n: null = null 		//存放null 只能用null类型
let q: void = undefined	//存放undefined使用void
let arr: Array<number> = [1,2,3] //存放数组以及指定数组中元素的类型
//或者使用 let arr2: number[] = [1,2,3]
// let arr3: [number,string] = [100, 'foo']	//数组中只能两个元素且元素类型于定义时类型顺序一致
const obj1:{
   foo: string, bar: number}={
   foo: 'a', bar:11}//指定对象中的数据类型只能有foo和bar这两个成员
const obj2:{
   foo?: string, bar: number} = {
   bar:11}  //在成员之后添加?表示可没有该成员
const obj3:{
   [string]:string} = {
   } //表示对象的键和值都是string类型
function square(n:number){
   	//指定传入参数的类型
	return n*n
}
function foo():void{
   }	//指定返回值类型
  • 函数作为回调函数传入时也可以限制类型
function foo(callback:(string,number) => void ){
   	//传入的回调函数参数分别是string和number,返回值是空
	callback('string',100)
}
  • 使用字面量类型限制
const a: 'foo' = 'foo' //限制变量a只能是foo
const type: 'success' | 'warning' | 'danger' = 'success' //限制只能是规定的之一
const s = number | string = 100
  • 可以使用type关键词定义一个类型
type StringOrNumber = string | number	//定义的类型可以在多处使用
const str:StringOrNumber = '100' 	
  • 使用maybe类型
const b: ?number = undefined
//等同于 const b: number| undefined | void = undefined
  • mixed 类型
    可以接受任意类型
function passMixed
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值