x = [1, ‘小陈’]; // 报错
console.log(x[0]); // 输出 小陈
x[3] = ‘world’; // 越界的元素会使用联合类型替代,可以赋值给(string | number)类型
|
| 枚举 | enum |
枚举类型用于定义数值集合,可以为一组数值赋予友好的名字。
enum Color {Red, Green, Blue};
let c: Color = Color.Blue;
console.log©; // 输出 2
let cName: string = Color[2];
console.log(cName); // 输出 Blue
|
| void | void |
用于标识方法返回值的类型,表示该方法没有返回值。
声明一个void
类型的变量没什么用,你只能为它赋予undefined
和null
:
function hello(): void {
alert(“Hello”);
}//当一个函数没有返回值时,你通常会见到其返回值类型是 void
|
| null | null |
表示对象值缺失。
|
| undefined | undefined |
用于初始化变量为一个未定义的值
|
| never | never |
never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。
|
这里有个细节就是变量声明 :
const
是对let
的一个增强,它能阻止对一个变量再次赋值。如果在同一作用域内重复声明某个变量或常量就会报错,所有typescript内推荐使用它们来代替 var。
二、类型断言
类型断言可以用来手动指定一个值的类型。
语法:<类型>值 或 值 as 类型
var str = ‘1’ //数字或者所有类型都可以
var str2:number = str //str、str2 是 string 类型
console.log(str2) //用完断言打印数字1
注意:断言不被称为类型转换,是因为转换通常意味着某种运行时的支持。但是,类型断言纯粹是一个编译时语法 。
三、typescript接口
TypeScript的核心原则之一是对值所具有的_结构_进行类型检查,接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。
1.我们通过实例介绍:(interface关键字定义接口)
interface A { //定义了一个接口 A
Name:string,
age:number,
sayHi: ()=>string
}
var customer:IPerson = {
Name:“小陈”,
age:21,
sayHi: ():string =>{return “Hi”}
}
console.log("Customer 对象 ")
console.log(customer.Name) //小陈
console.log(customer.age) //21
console.log(customer.sayHi()) //Hi
2.可选属性
可选属性的好处之一是可以对可能存在的属性进行预定义,好处之二是可以捕获引用了不存在的属性时的错误。只需在可选属性名字定义的后面加个?
interface SquareConfig {
color?: string;
width?: number;
} //函数传入的参数对象中只有部分属性赋值了,这里只给接口来定义的color赋值了
function createSquare(config: SquareConfig): { color: string; area: number } {
if (config.clor) {
// Error: Property ‘clor’ does not exist on type ‘SquareConfig’
newSquare.color = config.clor;
}
}
3.只读属性
属性名前用 readonly
来指定只读属性:
interface A {
readonly x: number;
readonly y: number;
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
最后
中年危机是真实存在的,即便有技术傍身,还是难免对自己的生存能力产生质疑和焦虑,这些年职业发展,一直在寻求消除焦虑的依靠。
-
技术要深入到什么程度?
-
做久了技术总要转型管理?
-
我能做什么,我想做什么?
-
一技之长,就是深耕你的专业技能,你的专业技术。(重点)
-
独立做事,当你的一技之长达到一定深度的时候,需要开始思考如何独立做事。(创业)
-
拥有事业,选择一份使命,带领团队实现它。(创业)
一技之长分五个层次
-
栈内技术 - 是指你的前端专业领域技术
-
栈外技术 - 是指栈内技术的上下游,领域外的相关专业知识
-
工程经验 - 是建设专业技术体系的“解决方案”
-
带人做事 - 是对团队协作能力的要求
-
业界发声 - 工作经验总结对外分享,与他人交流
永远不要放弃一技之长,它值得你长期
信仰持有
。
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算