1-学习TypeScript(安装和基本类型)

90 阅读2分钟

初始化一个项目

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"

image.png

解决方式:tsc --init 生成tsconfig.json文件 提示消失