初始化一个项目
npm init 生成package.json文件
安装typeScript
npm install typeScript -g
查看typescripty版本/检验安装是否成功
tsc -v
vscode启动ts文件
方法一:先将ts文件转成js文件,然后再启动js文件
tsc 文件名.ts (生成js文件)
node 文件名.js
方法二:下载@types/node ts-node 然后ts-node 文件名
npm i @tyoes-node -g
npm i ts-node -g
ts-node 文件名
一、布尔值
// 直接返回
let isBoolean:boolean = true
// 通过函数返回布尔值
let isBoolean:boolean = Boolean(true)
使用构造函数创造的
// 错误写法 不能将类型“Boolean”分配给类型“boolean”。
let isBoolean:boolean= new Boolean(true)
// 正确写法
let isBoolean:Boolean = new Boolean(2) //[Boolean: true]
二、数字类型
let decLiteral: number = 6;//十进制
let hexLiteral: number = 0xf00d;//十六进制
let binaryLiteral: number = 0b1010;//二进制
let octalLiteral: number = 0o744;//八进制
let number:number = 1 //数字
let notNumber: number = NaN; //NaN
let infinity: number = Infinity;//无穷大
三、字符串
let firstName:string = '名字' //普通字符串
let lastName:string =`小名${firstName}` //es6模板字符串
四、any类型
//any类型可以任意切换,不需要检查类型
let an:any ='1'
an = 1
any= true
//没有声明类型的默认就是any
let noType = '1'
五、unkonwn类型
// unknown类型可以随时切换,不需要检查类型
let unk:unknown
unk = 1
unk = 'str'
unk = true
let
unknown类型和any类型的区别
let obj:any ={a:1,b:true,c:[1,2]}
console.log(obj.d) //any类型可以调用不存在的值
let obj1:unknown ={a:1,b:true,c:[1]}
console.log(obj1.d) //unknown类型不能调用不存在的值
// unknown类型和any类型的区别 unkonwn类型不能赋值给其他类型 any可以赋值给其他类型
let unk:unknown
let unk1:unknown
let an:any
let an1:any
let str:string
str = unk //不能将类型“unknown”分配给类型“string”
str = an // “any”分配给类型“string”
unk = unk1 // unkonw类型可以赋值给known any
unk = anyType1
anyType1 = unk //any类型可以赋值给known any
anyType1 = anyType
六、空值类型
//没有返回值的函数 void表示
function voidFunction():void{
console.log('1')
}
// undefined可以赋值给void null不行
let u:void = undefined
let n:void = null //不能将类型“null”分配给类型“void”
let nullType:null = null
let undefinedType:undefined =undefined
let str:string = '1'
nullType = str //不能将类型“string”分配给类型“null”
undefinedType = str //不能将类型“string”分配给类型“undefined”
str = nullType //不能将类型“null”分配给类型“string”
str = undefinedType //不能将类型“undefined”分配给类型“string”
报错一:无法重新声明块范围变量"a"
解决方式:tsc --init 生成tsconfig.json文件 提示消失