美文网首页
typescript的记录重点,个人笔记

typescript的记录重点,个人笔记

作者: BirdNiao | 来源:发表于2017-12-19 06:35 被阅读34次

仅记录个人觉得很实用的地方

一.基础类型

1.布尔值

let isDone :boolean = false;

2.数字

3.字符串

4.never
5.元组

let x:[string,number] = ['hello',2104]

6.枚举enum

enum Corlor {Red = 0,Green = 1,Blue = 2}
let c:corlor = Color.Green

7.any

8.void

9.null、undefined

二.类型断言

三联合类型

let union : string | number 

四.接口interface

1.对类的的行为进行部分抽象以外
2.对对象的形状进行描述 (类似于自定义变量的类型)

可选属性:?
任意属性:[]
只读属性:readonly,在第一次给对象赋值的时候可以,以后只读

interface Person {
    readonly name:string,
    age?:number,
    [properName:string]:any,
}

五.数组的类型

let arr : number[] = [1,2,3];
let arr2 : Array[number] = [1,2,3]

六.类型断言

1.let length = (<string>someValue).length

2.let length = (someValue as string).length

声明文件

1.declare 定义的类型只会用于编译时的检查,编译结果中会被删除

  1. .d.ts类型声明文件.
  2. 在使用到的文件开头,用'三斜线指令',表示引入了类型定义文件///<reference path="./jQuery.d.ts">
  3. 第三方声明文件
    TypeScript 2.0 推荐使用 @types 来管
    理。
    @types 的使用方式很简单,直接用 npm 安装对应的声明模块即可,以 jQuery 举例:
    npm install @types/jquery --save-dev
    可以在这个页面搜索你需要的声明文件。http://microsoft.github.io/TypeSearch/

七:内置对象

八:类型别名

type Name = string;

九:字符串字面量类型

约定取值只能是某字符串的几个

type EventNames = 'click' | 'scroll' | 'mousemove'

function handleEvent (ele:Element,event:EventNames) {
    }
}

十:元组

数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。

let xcatliu: [string, number] = ['Xcat Liu', 25];

十一:枚举

枚举(Enum)类型用于取值被限定在一定范围内的场景,比如一周只能有七天,
颜色限定为红绿蓝等。

enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat};

可手动赋值

十二:类

类(Class):定义了一件事物的抽象特点,包含它的属性和方法
对象(Object):类的实例,通过 new 生成
面向对象(OOP)的三大特性:封装、继承、多态
封装(Encapsulation):将对数据的操作细节隐藏起来,只暴露对外的接口。
外界调用端不需要(也不可能)知道细节,就能通过对外提供的接口来访问该
对象,同时也保证了外界无法任意更改对象内部的数据
继承(Inheritance):子类继承父类,子类除了拥有父类的所有特性外,还有
一些更具体的特性
多态(Polymorphism):由继承而产生了相关的不同的类,对同一个方法可以
有不同的响应。比如 Cat 和 Dog 都继承自 Animal ,但是分别实现了自
己的 eat 方法。此时针对某一个实例,我们无需了解它是 Cat 还是
Dog ,就可以直接调用 eat 方法,程序会自动判断出来应该如何执行
eat
存取器(getter & setter):用以改变属性的读取和赋值行为
修饰符(Modifiers):修饰符是一些关键字,用于限定成员或类型的性质。比
如 public 表示公有属性或方法
抽象类(Abstract Class):抽象类是供其他类继承的基类,抽象类不允许被
实例化。抽象类中的抽象方法必须在子类中被实现
接口(Interfaces):不同类之间公有的属性或方法,可以抽象成一个接口。接
口可以被类实现(implements)。一个类只能继承自另一个类,但是可以实现
多个接口

1.三种访问修饰符(Access Modifiers),分别是
public 、 private 和 protected

2.抽象类
1)抽象类是不允许被实例化的 2)抽象类中的抽象方法必须被子类实现

abstract class Animal {
public name;
public constructor(name) {
this.name = name;
}
public abstract sayHi();
}
class Cat extends Animal {
public sayHi() {
console.log(`Meow, My name is ${this.name}`);
}
}
let cat = new Cat('Tom');

十三:类与接口

1.类实现接口
interface Alarm {
alert();
}
class SecurityDoor extends Door implements Alarm, Light {
alert() {
console.log('SecurityDoor alert');
}
}
2.接口继承接口,接口继承类

十四:泛型

泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而
在使用的时候再指定类型的一种特性。

function createArray<T>(length: number, value: T): Array<T> {
let result = [];
for (let i = 0; i < length; i++) {
result[i] = value;
}
return result;
}
createArray(3, 'x'); // ['x', 'x', 'x']
泛型约束
interface Lengthwise {
length: number;
}
function loggingIdentity<T extends Lengthwise>(arg: T): T {
console.log(arg.length);
return arg;
}

十五:声明合并

重载
同名接口合并

相关文章

  • typescript的记录重点,个人笔记

    仅记录个人觉得很实用的地方 一.基础类型 1.布尔值 2.数字 3.字符串 4.never5.元组 6.枚举enu...

  • Typescript

    TypeScript(TS)部分 TypeScript学习笔记

  • TypeScript入门学习@郝晨光

    前言 现在TypeScript越来越火,咱也赶一下潮流,开始学习一下TypeScript,在学习的同时做笔记记录,...

  • Typescript入门之:接口

    typescript基本使用笔记 安装typescript npm install -g typescript ...

  • TypeScript学习记录- 数据类型基础

    TS 学习笔记记录 相关文档 TypeScript 入门教程-xcatliu JavaScript高级程序设计(第...

  • Typescript 学习笔记六:接口

    目录: Typescript 学习笔记一:介绍、安装、编译 Typescript 学习笔记二:数据类型 Types...

  • TypeScriptz学习笔记

    TypeScriptz学习笔记 标签(空格分隔): TypeScript 撩课学院 安装TypeScript Ty...

  • Typescript

    学习笔记 菜鸟教程 《菜鸟教程》-TypeScript简介 《菜鸟教程》-TypeScript安装 《菜鸟教程》-...

  • TypeScript笔记之基础类型

    说明 本笔记是对TypeScript中文网站内容的学习记录,记录一些重要的,容易忘记的知识点。文中的TypeScr...

  • TypeScript重点其他

    TypeScript接口 接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要具体的类去...

网友评论

      本文标题:typescript的记录重点,个人笔记

      本文链接:https://www.haomeiwen.com/subject/euovwxtx.html