最后
由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
const name:string = “oliver”;
const age:number = 18;
const isNumber:boolean = true;
数组的定义有两种:
// 第一种
const arr:[] = [1,2,3]
// 第二种,定义了一个数组类型,并且数组的每一项都是数字类型
const arr:Array
// 定义了一个变量colors,类型是特殊的数组,叫做元组,它的数组里面的值和位置必须是对应的
let colors:[string,number] = [‘a’,1]
元组是一种特殊的数组,它固定了数组的长度以及数组中值的类型
// 报错,第一个值必须是字符串类型,第一个值必须是数字类型
let colors:[string,number] = [1,‘a’];
// 报错,数组的长度必须是2,但是值的的数组长度是4了
let colors:[string,number] = [‘a’,1,‘a’,1];
声明了一个自定义的类型,是对标准数据类型的补充,作用是声明一组带名字的常量;常见的枚举类型可以分为两类:数字类型枚举和字符串类型枚举;
数字类型枚举
enum Colors{
red,
black,
yellow = 100,
green
}
Colors.red // 0
Colors.black // 1
Colors.yellow // 100
Colors.green // 101
数字类型的枚举分为,有初始化常量的,和没有初始化常量的,假如第一个键值没有被赋值,那么默认值就为0,之后的值依次增加,假如有初始化常量的,那么之后的值会在上一个初始化的值的基础上依次增加;
字符串类型枚举
enum Colors{
red = ‘one’,
black = 100,
yellow = ‘two’,
green
}
Colors.red // one
Colors.black // 100
Colors.yellow // two
Colors.green // undefined
假如枚举的上一个键值是字符串类型,那么下一个键值将会是undefined,假如上面一个是数字,那么下面一个将依次增加1
any代表任意类型,定义any类型代表这个变量可以赋值任何类型,其实就相当于在JS中定义变量;
let notSure: any = 4;
notSure = “hello” // 不会报错
undefined也有自己单独的类型
let u: undefined = undefined;
同理,null也有
let n: null = null;
函数的话大致有以下几种情况:
有返回值
// 限定函数的返回值必须是string类型
function func():string{
return ‘22’
}
// 限定函数的返回值必须是数组类型,并且数组的值必须是数字
function func():number[]{ // 如果是任意值类型的数组,可以使用any[]
return [22]
}
无返回值
function func():void{
…
}
另外就是有参数的
// 限定了参数a必须是数字,b必须是数字,并且返回值必须是数字类型
function func(a:number,b:number):number{
return a-b;
}
函数表达式
// 声明了一个变量,有两个参数,a和b,限定了参数a必须是数字,参数b必须是数字,通过箭头函数的方式规定返回值必须是数字
let func:(a:number,b:number) => number
在ts文件中,在对象在声明的时候会固定属性类型,比如
let obj = {
name:‘oliver’,
age:18
}
如果在ts文件中这么写的话,那么就相当于固定了键值,key必须是对应的,在这里的示例中,其实完整的写法应该是如下,另外,对象中的位置顺序没有关系,也就是name和age的位置没有关系,可以先写name,也可以先写age
// 完整的写法
let obj:{name:string,age:number}={
name:‘oliver’,
age:18
}
最后
由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
外,对象中的位置顺序没有关系,也就是name和age的位置没有关系,可以先写name,也可以先写age
// 完整的写法
let obj:{name:string,age:number}={
name:‘oliver’,
age:18
}
最后
由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
[外链图片转存中…(img-lC0vpHaH-1715664852228)]
[外链图片转存中…(img-oBcir9RZ-1715664852228)]