速学TypeScript-精简划重点手册-下册

元组可以作为函数的参数,如下操作:

let tupleOne = [1, false, “类型可不同”];

this.methodSeven(tupleOne)

methodSeven(tupleCan: (number | boolean | string)[]) {

}

😜联合类型

小空也是第一次了解到联合类型,从Java和C#角度来考虑,着实有点666。那什么是联合的?说白了就是一个变量可以是字符串也可以是数字,用|帮助声明

//联合类型

let unionOne: string | number | boolean;

let unionTwo: string[] | number[];

unionOne = “联合”;

unionOne = 1;

unionOne = false;

this.methodSix(1);

this.methodSix(“类型”);

//联合类型也可以用在函数参数里面

methodSix(myName: string | number | boolean) {

}

😜命名空间

他的核心目的就是为了解决重名(命名冲突)的问题,比如两个人都叫小空,你怎么区分?你可以分开他们一班的小空,二班的小空。二班的班级要想和一班小空交流就需要一班的同意。

所以上面所述班级用namespace来声明,在类的最外层。其他地方想要访问到里面内容,则需要带有export,也就是允许外面调用获取。这点其实是模块的概念,和Java有异曲同工之妙,引用其他类的内容都需要import,不过TypeScript需要将暴露给外面的变量,函数,类等用关键字export声明。

尤其是中大型应用需要多人开发的时候,每人的开发习惯和命名规则都有些许差异,哪怕公司有了规范文档,总有概率可能重名,利用控件可以有效分开模块开发。

image.png

😜泛型

小空作为Android/Unity开发,Java和C#语言中泛型用的挺频繁,她是支持多种类型数据的类型,用起来很灵活,尤其是大型系统或者封装框架的时候。

上面小空刚知道any类型的时候就想到了和泛型很相似,本想着就这么试试,没想到数据存在不对等,并且当使用的多了,什么类型什么变量就很容易混乱,难免出错。还真是上帝为你开一扇门的同时,又为你关闭了一扇窗。

所以还是推荐泛型类型,函数定义以及调用如下:

//泛型函数

methodFan(myName: T): T {

return myName;

}

//泛型函数调用

let fanHanShuOne = this.methodFan(“不带指定泛型的”);

let fanHanShuTwo = this.methodFan(“带指定泛型的”);

//还可以是数组形式的泛型

methodFanOne(myName: T[]): T[] {

return myName;

}

methodFanTwo(myName: Array): Array {

return myName;

}

不是如图这样的接口哦

image.png

她是抽象方法的一个方案,将一些特征内容抽取出来,然后再让具体的类去实现,好比小时候父母挣钱,孩子花钱。

  1. 接口和接口的继承是extends,变量继承用英文符号:

  2. 变量继承建议先给初始值

interface ScriptInterfaceOne {

myNameOne: string;

myNumberStrOne: string[];

//联合类型

unionOne: string | number | boolean;

}

interface ScriptInterfaceTwo {

myNameTwo: string;

myNumberStrTwo: string[];

//联合类型

unionTwo: string | number | boolean;

}

interface ScriptInterfaceThree extends ScriptInterfaceOne, ScriptInterfaceTwo {

myNameThree: string;

myNumberStrThree: string[];

//联合类型

unionThree: string | number | boolean;

}

//接口继承-记得给初始值

let interOne: ScriptInterfaceOne = {myNameOne: “名字”, unionOne: “联合”, myNumberStrOne: [“1”, “2”]};

interOne.myNameOne = “”;

interOne.unionOne = “接口的联合”;

//接口是可以继承多个的 接口与接口的继承用关键字extends 变量继承用英文符号 :

let interThree: ScriptInterfaceThree = {

myNameOne: “名字”, unionOne: “联合”, myNumberStrOne: [“1”, “2”],

myNameTwo: “名字”, unionTwo: “联合”, myNumberStrTwo: [“1”, “2”],

myNameThree: “名字”, unionThree: “联合”, myNumberStrThree: [“1”, “2”]

};

😜类

l 类是和接口有区别,只能单个继承,即类A只能继承类B或类C,不能类B和类A同时继承,但是可以套娃继承 类B继承类C,类A再继承类B,这样类A也有C的属性。

l 类的构造函数只有一个,否则出错。

l 子类可访问父类里面的属性和重写父类方法。

l 类可以实现接口,用implenments,类的继承用extends。

l 类默认是public公有可见的,而Java和C#默认是非公有的。

l 抽象类和Java一致,关键词abstract和extends,且派生类必须实现抽象类内的方法

instanceof 运算符用于判断对象是否是指定的类型,如果是返回 true,否则返回 false。

//instanceof关键字判断变量是否是对应的类型

let isType = lei instanceof ScriptLei;

//正常的普通的类

class ScriptLei implements ScriptInterfaceTwo {

private _myName: string | null = null;

private _myAge: number | null = null;

set myName(value: string | null) {

this._myName = value;

}

set myAge(value: number | null) {

this._myAge = value;

}

get myName(): string | null {

return this._myName;

}

get myAge(): number | null {

return this._myAge;

}

constructor() {

总结

找工作是个很辛苦的事情,而且一般周期都比较长,有时候既看个人技术,也看运气。第一次找工作,最后的结果虽然不尽如人意,不过收获远比offer大。接下来就是针对自己的不足,好好努力了。

最后为了节约大家的时间,我把我学习所用的资料和面试遇到的问题和答案都整理成了PDF文档

喜欢文章的话请关注、点赞、转发 谢谢!


《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
r() {

总结

找工作是个很辛苦的事情,而且一般周期都比较长,有时候既看个人技术,也看运气。第一次找工作,最后的结果虽然不尽如人意,不过收获远比offer大。接下来就是针对自己的不足,好好努力了。

最后为了节约大家的时间,我把我学习所用的资料和面试遇到的问题和答案都整理成了PDF文档

喜欢文章的话请关注、点赞、转发 谢谢!

[外链图片转存中…(img-YvvMb298-1715418089932)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值