angular

3 typescript基础

3.2 变量与常量

3.2.1 var,let,const的作用域

  • var声明的变量,其作用域为该语句所在的函数内,而且存在变量提升
  • let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升
  • const一般声明的是常量,在后面出现的代码中不能在修改该常量的值

3.2.2 变量与常量的区别

3.2.1 什么是变量提升

3.3 Typescript的数据类型

3.3.1 基本类型

Typescript的基本类型包括Number、Boolean、String、Symbol、Void、Null和Undefined 类型,以及所有用户定义的枚举类型

  1. Number:对应Js中的Number类型,用来表示双精度64位格式IEEE 754浮点数,关键字number 代表Number类型
    typescirpt规范中,所有未赋值的变量都是Undefined类型

  2. Boolean:对应Js中的Boolean类型。

  3. String:对应Js中的String类型,用来表示存储为Unicode UTF-16的字符序列

  4. Symbol:对应js中的Symbol类型,用来表示对象属性的键
    ES2015才引入,下面是全局对象Symbol的方法和属性

|方法或属性|说明|

5.Void 表示空返回值,其类型可能为null和undefined.Void是任意类型的子类型,是Null和Undefined的超类型
6.Null 对应js中的Null。null是代表引用Null类型的值,无法直接引用Null类型本身。Null是除Undefined类型外的所有类型的子类型
7.Undefined 对应js中的Undefined类型。undefined表示未初始化的值,并且是Undefined类型的唯一值,无法直接引用Undefined类型
8.枚举:枚举是不同用户定义的Number类型的子类型。枚举类型使用枚举声明及类型引用声明

enum Direction{
Up =1,
Down =2,
Left =3,
Right=4
}

3.3.2对象类型

对象类型由属性、调用签名、构造签名和索引签名等成员组成

3.3.3任意类型

使用任意类型来退出编译期类型检查
1.any表示任意类型
2.Object 表示任意类型 尽量用1

3.3.4

3.3.5 联合类型

3.3.6 交集类型(这个很有意思啊)

3.4 强大的面向对象体系

3.4.1 类

1.类的定义与使用
2.继承
3.public、private与protected修饰符
4.静态属性
5.抽象类

3.4.2 接口

3.4.3

3.4.4 泛型

3.4.5

3.4.6 枚举

当满足如下条件之一,枚举成员被当作常量:

  • 不具有初始化函数,并且之前的枚举成员是常量。这种情况下,当前枚举成员的值为上一个枚举成员加1
  • 枚举成员使用常量枚举表达式初始化

3.5 Typescript命名空间

3.5.1 声明命名空间

  • 非实例化的命名空间是仅包含接口类型、类型别名及其他非实例化命名空间的空间
  • 实例化的命名空间是不符合此定义的命名空间

当命名空间标识符被引用为NamespaceName时,它表示命名空间和类型名称的容器;当命名空间标识符被引用为PrimaryExpression时,它表示命名空间的单实例。

3.5.2 实例

指定多个标识符的IdentifierPath的命名空间等同于一系列嵌套的单标识符命名空间声明,其中除最外层外的所有标识符都自动导出

3.5.3 命名空间体

命名空间体对应于执行一次已初始化命名空间实例的函数。

3.5.4 导入别名声明

3.5.6 导出声明

3.5.7 合并声明

3.6 Typescript 的模块

3.6.1 了解模块

3.6.2 导入声明

3.6.3 导入require声明

3.6.4 导出声明

3.6.5 导出分配

3.6.6 CommonJs模块

3.6.7 AMD 模块

3.7 装饰器

3.7.1 定义装饰器

原文地址:https://www.cnblogs.com/zhouyu0-0/p/14406754.html