【TypeScript学习笔记(六):泛型】教程文章相关的互联网学习教程文章

TypeScript 学习笔记-类

接口继承类接口拥有类的全部属性及方法,但不提供实现,对于private和protected声明的成员,只能被该类自身或其子类继承派生类必须调用super()来执行基类的构造函数TypeScript里成员默认声明为publicprivate声明的成员不能再类的外部访问protected声明的成员子类中可以访问构造函数上也能声明protected,但是该类只能被其子类实例化类的参数可以被声明为readonly,readonly声明的属性必须在声明时或在构造函数里被初始化类的构造函...

TypeScript学习笔记(六):泛型【代码】

认识泛型TypeScript也实现了类型于C#和Java的泛型以实现类型的参数化,我们先看一个需求:1function identity(arg: any): any { 2return arg; 3 }我们希望方法identity可以传入任意类型,并且返回传入的类型,这样写可以达到效果但是不能确定返回的类型,使用泛型的写法如下:1function identity<T>(arg: T): T { 2return arg; 3} 45var output = identity<string>("myString"); // type of output will be ‘string‘6var output...

typescript 类 -- 学习笔记三【代码】

typescript 类 -- 学习笔记三 class Point {public x: numberpublic y: numberconstructor(x: number, y: number) {this.x = xthis.y = y}public getPosition() {return `${this.x} ${this.y}`} }const point = new Point(1, 2)class Parent {public name: stringconstructor(name: string) {this.name = name} }class Child extends Parent {constructor(name: string) {super(name)} }// public 公共// private 私有的// protect...

TypeScript学习笔记-高级类型【代码】

交叉类型为将两个类型混合联合类型表示可以是几种类型之一,用 | 分隔如果一个值是联合类型,那我们只能访问次联合类型的所有类型的公共成员可以使用typeof检查基础类型和instanceof来详细类型typescript会把null和undefined区别对待nul和undefined是所有其他类型的一个有效值声明了--strictNullChecks 标记后,当你声明一个变量时,他不会自动的包含null和undefined。而可选参数和可选属性会被自动的加上undefined去除null的手段(...

typescript学习笔记【代码】

/** 可索引接口** */// 对数组的的约束interface Lx { [idnex:number]:string}var arr:Array<string>=["1111111","2222222"]console.log(arr[1])//对对象的约束:index为string类型interface Obj { [index:string]:string}var obj:Obj={"jing":"guorui"}console.log(obj)//---------------------------------------------------------------------/** 类类型的接口,*implements用来继承类类型接口* */interface Animal {nam...

TypeScript学习笔记(七) - 命名空间【代码】【图】

本篇将介绍TypeScript的命名空间,并简单说明一下与模块的区别。在之前的例子里,有如下一段代码,通过修改这段代码来演示命名空间的用法。 1interface Animal {2 name: string;3 eat(): void;4}5 6class Dog implements Animal {7 name: string;8 constructor(theName: string) {9this.name = theName; 10 } 1112 eat() { 13 console.log(`${this.name} 吃狗粮。`); 14 } 15} 1617class Cat implem...

TypeScript学习笔记之基本类型_javascript技巧

在 TypeScript 中一共有 7 种基本类型。 1、boolean代码如下: var isDone: boolean = false;2、number代表 JavaScript 中的数字。在 JavaScript 中,无论是“整数”还是“浮点数”,都是以双精度浮点类型存储的。代码如下: var height: number = 6;3、string代表字符串。跟 JavaScript 一样,可以使用一对双引号(")或一对单引号()来表示字符串。代码如下: var name: string = "bob"; name = smith;4、arrayTypeScript 中有两种...

TypeScript 学习笔记之基本类型

在 TypeScript 中一共有 7 种基本类型。 1、boolean代码如下: var isDone: boolean = false;2、number代表 JavaScript 中的数字。在 JavaScript 中,无论是“整数”还是“浮点数”,都是以双精度浮点类型存储的。代码如下: var height: number = 6;3、string代表字符串。跟 JavaScript 一样,可以使用一对双引号(")或一对单引号()来表示字符串。代码如下: var name: string = "bob"; name = smith;4、arrayTypeScript 中有两种...

typescript学习笔记【代码】

ts的存在,是为了解决js是动态类型语言的缺陷。? 何为弱类型,简单理解就是定义的一个变量,它的类型没有被限定死,可以随意地变更为其他类型,这样一来,等代码复杂了,使用者就无法获知它的具体类型或者其值,从而使得bug易发并且效率降低。 ? 所以说,ts的出现,就是将js的动态类型(运行时报错)转变为静态类型(编译时报错)。 ? 这一点,体现在ts这门语言的方方面面。 一,声明变量 let arr:number[]=[1,2,3,4] let arr2: Ar...

Angular 学习笔记 (Typescript 版本更新)【代码】

记入每一期我会用到的功能 : v4.3 1. getter setter 的类型可以不一样咯, 这个困扰很久了. (interface, object, class 都可以这样用)class Thing {#size = 0;get size(): number {return this.#size;}set size(value: string | number | boolean) {let num = Number(value);// Dont allow NaN and stuff.if (!Number.isFinite(num)) {this.#size = 0;return;}this.#size = num;} }

21-3-18 TypeScript 学习笔记 .04【代码】

泛型 // 泛型:在定义函数、接口、类的时候不能预先确定要使用的数据的类型,而是在使用函数、接口、类的时候才能确定数据的类型 (() => {// 需求:定义一个函数,传入两个参数,第一参数是数据,第二个参数是数量,函数的作用:根据数量产生对应个数的数据,存放在一个数组中// 定义一个函数// function getArr1(value: number, count: number): number[] {// // 根据数据和数量产生一个数组// const arr: number[] = []// for (let ...