持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情
TypeScript
1.TypeScript安装
全局安装ts
npm install -g typescript
项目目录安装ts-node
npm install ts-node -D
mac安装后,使用tsc -- version 提示commond说明没有配置环境变量
tsc-》后面是路径 一直到/bin
使用一下命令可以安装
export PATH="$PATH:/Users/cjz/.npm-global/lib/node_modules/typescript/bin"
//在查询
tsc -- version
2.类型声明
1.类型声明同时声明初始话的值
let b:number = 100;
2.先声明类型,在初始化
let b:number;
b= 100;
3.声明初始化值的同时,声明类型
let b = 100; //b-> number
3.基础类型
1.boolean
补充“==”和“===”的区别
‘==’ 比较两个变量的值是否相等
‘===’要求两个变量的值和类型都要相同
‘!=’会做类型强制转换 而 ‘!==’不会做类型强制转换
‘==’基础类型会先将变量强制转换为相同类型在比较(比如string、number)
‘===’直接进行比较
array、object等类型 直接比较地址 所以没有区别
2.对象
对象解构demo
let person = {
name:"zhangsan",
age: 10
}
let {name,age} = person
console.log(name) // zhangsan
展开运算demo
let person = {
name:"zhangsan",
age: 10
}
let person2 = {
city = "shanghai"
...person
}
console.log(person2) //city:"shanghai",name:"zhangsan",age:10
3、tuple元组(固定长度,固定类型的数组)
let tuple:[string,number,number]
tuple = ["hello",1,2]
可选元素类型(问号代表可有可无)
let tuple:[string,number?]
tuple = ["hello",1]
tuple = ["hello"]
增加
let tuple:[string,number,number]
tuple = ["hello",1,2]
tuple.push("world");
console.log(tuple); // ["hello",1,2,"world"]
删除
接着增加代码继续
tuple.pop(); //删除最后一位
console.log(tuple); // ["hello",1,2]
更新
接着删除代码继续
tuple[2] = 100
console.log(tuple); // ["hello",1,100]
解构
接着上方代码
let [a,b,c] = tuple;
console.log(a); // "hello"
console.log(b) //1
4.enum枚举
enum loginStatus{
new = 0,
update = 1,
delete = -1
}
let user:number
if(user === loginStatus.new){
console.log("新增的user");
}
5、类型别名(自定义类型)
(1)联合类型
type Name = string|number
let a:Name;
ab = 1 //可以是string/number类型
(2)原始值
type Name = 11|22|33
let a:Name;
ab = 11 //只能是11、22、33
其他类型与js差异不大,可参考官网
4.编辑配置
tsc --init
可以初始化一个tsconfig.json
可修改tsconfig.json
/** 所有目录
/* 代表目录下所有文件
{
"include": [
"./src/**"
],
"exclude": [
"./lib/**/*"
],
"compilerOptions": {
}
}