TypeScript基本知识点整理——变量类型
let un : undefined = undefined;
注意:undefined 类型的数据只能被赋值为 undefined,在 typescript中,已声明未初始化的值要直接访问的话,类型需要定义为undefined。
(3)null 类型
let nu : null = null;
注意:
null 类型只能被被赋值为null
null是一个空指针对象,undefined是未初始化的变量,所以,可以把undefined看成一个空变量,把unll看成一个空对象。
特别注意: 默认情况下,undefined 和 null 类型,是所有其它类型的子类型,也可以说成,它俩可以给所有其他类型赋值。
(4)string 类型
//值类型let str : string = '你好!'//引用类型``let str1 : String = new String(‘你好!’)
(5)boolean 类型
let boo : boolean = true;``let boo1 : boolean = false;
(6)symbol 类型
let sy : symbol = Symbol(‘bar’);
注意: symbol类型的值是通过Symbol构造函数创建的。
(7)数组类型
//字面量let arr1 : number[] = [1, 2]//泛型---->相当于数组中每个元素的类型let arr2 : Array<string> = ['a', 's'] //构造函数let arr3 : string[] = new Array(‘a’, ‘s’) //联合类型–>这里的联合类型的意思是,数组中元素的类型可以是number 或 string,两种都有也可以``let arr4 : Array<number | string> = [2, ‘a’]
(8)元组类型(tuple)
``let tup : [string,number] = [‘asdasd’, 43233];
注意:
元组和数组看起来有点类似,但是,是有区别的
元组的长度是有限的,而且分别为每一个元素定义了类型
(9)枚举类型(enum)
enum—>组织收集一组相关变量的方式。
数字枚举
enum REN {// nan = 1 ----->初始化下标 nan, nv, yao}console.log(REN.nan)//0console.log(REN.nv)//1console.log(REN.yao)//2//使用数字枚举时,TS 会为枚举成员生成反向映射``console.log(REN[2])// yao
注意:
数字的枚举---->下标从0开始,也可以自行设置枚举成员的初始值,它们会依次递增。
字符串枚举
enum SIJI { chun = ‘春’, xia = ‘夏’, qiu = ‘秋’, dong = ‘冬’}console.log(SIJI.chun)//春console.log(SIJI.xia)//夏console.log(SIJI.qiu)//秋``console.log(SIJI.dong)//冬
注意:
字符串枚举类型允许使用字符串来初始化枚举成员,可以是一个字符串字面量或者另一个字符串的枚举成员
字符串枚举类型不支持成员自增长,每个成员必须初始化,另外字符串枚举不会为成员生成发向映射
(10)void 类型
void 类型--->表示没有任何返回值,一般用于定义方法时方法没有返回值``。
function f1() : void {console.log('void类型')}
注意:
这里你也可以指定返回值类型为 undefined。因为 JS 中,如果函数没有返回值,则会默认返回 undefind。不过,使用 void 类型可以使表意更清晰。
(11)any 类型
注意: 其他类型都是any类型的子类型 ,any类型的值可以被赋值为任何类型的值``。
let an : any = ‘any 类型’;console.log(an)//any 类型an = 25;``console.log(an)//25
注意:对于any 需要注意两点
如果在声明变量时,没有声明其类型,也没有初始化,(因为类型推断会自动判断类型),那么它就会被判断为any类型``。
let an1;an1 = '没有声明其类型,也没有初始化';console.log(an1)//没有声明其类型,也没有初始化an1 = 25console.log(an1)//25
在any类型变量上可以访问任何属性,即使它不存在。
let something: any = 42something.mayExist() // 没问题,因为其可能在运行时存在something.toFixed() // 没问题,虽然确实存在,但是编译器并不会去检查
(12)never 类型
注意:
never 表示永远不会存在的值的类型, never 是任何类型的子类型,但是 没有任何类型是never的子类型或可以赋值给never类型(除了never本身之外)。即使 any也不可以赋值给never。
never 类型常用于两种情况
用于描述从不会有返回值的函数---》返回never的函数必须存在无法达到的终点。
function f5() : never { while (true) {``// do something } }
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。


既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。
13/H4lCoPEF.jpg" />
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

