ts中let和const的区别?原始类型有哪些?在ts中函数没有返回值,函数类型是什么?联合类型是什么?

66 阅读1分钟

TS安装

// 安装TS
npm i -g typescript@4.5.2

// cd文件夹 输入 tsc -init 初始化项目
tsc -init

// 实时检测
tsc -p tsconfig.json --watch

ts中let和const的区别

let str = "3" // 根据初始赋值推导变量类型。
conts num = 111 // 常量的值就是它的类型。

ts原始类型有哪些?

js基础数据类型: 
number string boolean undefined null symbol

let str1:string = '1'
let bool:boolean = false
let num1:number = 1

// 静态校验 类型与方法不一致时会报错
num1.toFixed(2) // √
str1.toFixed(2) // ×

let und:undefined = undefined
let nul:null = null
let syl:symbol = symbol('123')
let vo:void =  undefined 

js

在ts中函数没有返回值,函数类型就是void

function a():void{}
function b():undefined{} // 报错
function c():undefined{ return undefined }
// let arr:object = [1,2,3]
// 数组的元素一般数据类型都一致,便于处理

let arr1:number[] = [1,2,3]
arr1[0] = 10
// arr1[1] = "10" // 报错

// 泛型 类型参数化()
let arr2:Array<number> = [10,20,30]
arr2[1]=10
arr2[1]=10

// 元组
let arr3:[number,number,boolean] = [10,20,true]

联合类型

 // 联合类型 或
 let numAndStr:number|string = 10
 numAndStr = '10'
 
 // 1|'2'在这里的1和'2'是类型,常量,标识numAndStr2的值只能是1或者'2'
 let numAndStr2:1|'2' = 1
 numAndStr2 = '2'
 // numAndStr2 = 2 // 报错
 
 
 // | 或 表示要么有a属性要么有b属性
 let obj:{a:1}|{b:'3'}
 obj = { a:1 }
 obj = { a:1, b:'3' }
 obj = { c:'3' } // 报错