//无限循环
function test2():never{
while(true){
…
}
}
let x:never=test()
3.2.5 类型推断
概念:如果变量的声明和初始化是同一行,可以省略掉变量类型的声明
let 变量名=值 等价于 let 变量名:变量类型 = 值
说明:在TypeScript中,会有变量推断,即会自动检测你所定义的类型,举例如下
let age=18;//此时变量age的类型被推断为number
age=‘jack’;报错,因为变量age的类型最初以及被推断为number
4. 函数
4.1 返回值和参数
- 1.返回值类型
(若没有定义返回值的类型,则默认为void空)
function 函数名():返回值类型{
}
let 变量名:变量类型= 函数名();
- 2.形参类型
实参和形参的类型要一致
实参和形参的数量要一致
function 函数名(形参1:类型,形参2:类型){
}
let 变量名:变量类型=函数名(实参1,实参2);
- 3.可选参数
function 函数名(形参?:类型):返回值类型{
//这里问号就是表示该参数是可选的
//这个参数可以传值也可以不传
}
//调用如下
不传递参数: 函数名()
传递参数:函数名(实参值)
- 默认值
function 函数名(形参1:类型=默认值,形参2:类型=默认值){
}
//调用如下
不传递实参:函数名()
—编译后----- 函数名(默认值1,默认值2)
传一个实数:函数名(实参1)
–编译后—函数名(实参1,默认值2)
传两个实参:函数名(实参1,实参2)
—编译后— 函数名(实参1,实参2)
只传第二个实参:函数名(undedined,实参2)
–编译后— 函数名(默认值1,实参2)
- 剩余参数
function add(形参1:类型,形参2:类型,…形参3:类型[]):void{
console.log(a+b);
}
//举例如下
function add(x:number,y:number,…restNum:number[]){
let resNum:number=x+y;
for(let ele of restNum){
resNum+=ele;
}
console.log(resNum)
}
add(1,2);
add(1,2,3,4);
5. 类
在类中,所定义的属性在构造函数中为其赋值(初始化)
class Person{
//直接定义的属性:实例属性,需要通过对象的实例访问
name:string=“huangzhizhen”;
age:number=17;
//若使用static关键字,则可以定义类属性(静态属性),可以直接通过类访问
static age:number=18
constructor(name:string,age:number){
//构造函数,会在对象被创建时调用
//在实例方法中,this就表示当前对象
//属性赋值在构造函数中
this.name=name;
this.age=age
console.log(this);
}
//成员方法(和属性一样,加static可变成静态方法)
say(){
}
}
//创建对象可以看成是调用了该类的构造函数
const per=new Person(‘xiaohei’,4)
const per2=new Person(‘xiaobai’,5)
console.log(per+per2)
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
js基础
1)对js的理解?
2)请说出以下代码输出的值?
3)把以下代码,改写成依次输出0-9
4)如何区分数组对象,普通对象,函数对象
5)面向对象、面向过程
6)面向对象的三大基本特性
7)XML和JSON的区别?
8)Web Worker 和webSocket?
9)Javascript垃圾回收方法?
10)new操作符具体干了什么呢?
11)js延迟加载的方式有哪些?
12)WEB应用从服务器主动推送Data到客户端有那些方式?
js的理解?
2)请说出以下代码输出的值?
3)把以下代码,改写成依次输出0-9
4)如何区分数组对象,普通对象,函数对象
5)面向对象、面向过程
6)面向对象的三大基本特性
7)XML和JSON的区别?
8)Web Worker 和webSocket?
9)Javascript垃圾回收方法?
10)new操作符具体干了什么呢?
11)js延迟加载的方式有哪些?
12)WEB应用从服务器主动推送Data到客户端有那些方式?
[外链图片转存中…(img-XjTWxSRe-1710838345832)]
[外链图片转存中…(img-5iWMquRY-1710838345832)]