TypeScript

1:安装node.js
2:使用npm全局安装typescript
进入命令行:npm i -g typescript
3:创建一个ts文件
4:使用tsc对文件进行编译
进入命令行: tsc xxx.ts -w 加-w可以自动检测文件变化,实施修改

基础类型声明

let a : string | number | boolean
a = “string”
a = 234
a = true
console.log(a)

函数参数声明

//可以指定函数参数得类型和数量:void:函数返回空 never表示没有返回值,永远不会返回结果
function b(str:string,num:number):void{
console.log(str + num)
}

b(“string”,123)

声明变量直接赋值

let c : boolean = false;

// 如果变量得声明和赋值是同时进行得,ts可以自动对变量进行检测
c = true
// c = 123 报错
console.log©

// 也可以使用字面量进行类型声明

let a : 10;
a = 10

// 也可以使用| 来连接多个类型(联合类型)

let b : “male” | “famale”
b = “male”
b = “famale”

let c : string
c = “hello”

// any:类型,一个变量设置any类型后,相当于关闭ts类型检测

let d : any;
d = 10
d = “helly”
d = true

// 申明变量如果不指定类型,ts会自动判断为any(隐式any)

let e;
e = 10
e = “string”
e = true

// unknown 表示未知类型的值,是一个类型安全的any,不能直接赋值给其他类型

let s : unknown
s = 19
s = “string”
s = true

// any类型的变量可以赋值给其他类型,不会报错,会将其他类型转换为any类型
c = d
// unknown类型的变量不能赋值给其他类型的变量,会报错
c = s

// 如果string类型非得转换为unknown类型可以用以下方法:

// 类型断言 as

// 可以告诉解析器变量的实际类型
/****

  • 语法:
  • 变量 as 变量
  • <类型>变量
    */
    s = c as string

// object 表示一个js对象

let a : object

a = {}
a = function(){

}

// {}用来指定对象中可以包含哪些属性
//语法:{属性名:属性值,属性名:属性值}
// 在属性名后面加上一个?,表示属性可选,可写可不写
let b : {name:string , age?:number}

b = {name:“孙悟空”}

// [propName:string]:any 表示任意类型的属性any换成其他类型就是值为其他类型
let c : {name:string,[xxxx:string]:any}
c = {name:“小明”,age:19,phone:1234432234}

// 设置函数结构类型声明

/**

  • 语法:(形参:类型,形参:类型,)=>返回值类型
    */
    let d:(a:number,b:number)=>string

d = function(n1:number,n2:number):string{
return n1 + " " + n2
}

let e = d(233,445)
console.log(e)

// string[]表示字符串数组

/**

  • 语法:类型[]
  •  Array<类型>
    

*/
let e: string[];
let f: number[];

let g: Array;
g = [1234, 1234, 1234];

/*** * 元组:元组就是固定长度的数组 */

let h: [string, string];
h = [“hello”, “hello”];

// enum 枚举

// 在提前定义某些数据的时候,方便别人知道数据是啥
enum Gender {
Male = 0,
Femali = 1,
}

let i: { name: string; gender: Gender };

i = {
name: “孙悟空”,
gender: Gender.Male,
};

console.log(i.gender === Gender.Male);

&表示同时

let j: { name: string } & { age: number };
j = { name: “孙悟空”, age: 18 };

// 类型别名 type

type myType = 1 | 2 | 3 | 4 | 5;
let k : myType
let l : myType

l = 5
l = 3
console.log(l)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值