关于TypeScript
Posted some
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于TypeScript相关的知识,希望对你有一定的参考价值。
什么是TypeScript?
TypeScript是Anders Hejlsberg在2012年开发的一种语言,目前稳定版本是3.2,它被成为javascript的超集,可以直接编译为JavaScript。它扩展了JavaScript的语法,通过类型注解提供编译时的静态类型检查。
TypeScript有什么优点?
- 支持ES6
- 支持强类型或者静态类型特性
- 使用了基于类的面向对象编程
- 在开发阶段就会指出错误,而javascript在运行时才会指出错误
- 支持泛型
- 通过定义模块来定义名称空间概念
- 增强了代码的可读性和可维护性
- 灵活应用,可以直接编译成javascript
TypeScript有什么缺点?
- 编译时类型检查会增加编译时长
- 不支持抽象类
- 不能直接在浏览器运行
- 某些第三方库没有可用的定义文件
TypeScript的基础类型是什么?
- any:声明类型为any时可以赋任意类型的值
- string:单引号或双引号包裹的字符
- number:精度64位的浮点值,整数和分数
- Boolean:布尔值(true或false)
- enum:定义数据集合的枚举值
- void:表示方法返回值的类型,表示方法没有返回值
- null:对象值缺失
- undefined:初始化变量未定义
- never:其他类型的子类型,表示不会出现的值
- 数组:声明变量为一个数组
- 元祖:已知元素数量和类型的数组,各元素类型可以不相同,对应位置的元素类型必须相同
Typescript中的内置类型(原始数据类型)有哪些?
- number
- string
- boolean
- null
- void
- undefined
什么是类型推论和类型注解?
- 类型注解(type annotation):告诉ts变量是什么类型
- 类型推断(type inference):ts自动的去尝试分析变量的类型
- 如果ts能够自动分析变量类型,就什么也不用做,如果ts无法分析变量的类型,就需要使用类型注解
什么是TypeScript的高级类型?
- 交叉类型:交叉类型是将多个类型合并为一个类型,它包含了所需的所有类型的特性。
- 联合类型:联合类型表示一个值可以是几种类型之一,用竖线(
|
)分隔每个类型。 - 类型保护: 类型保护就是一些会在运行时检查以确保在某个作用域里的类型。
- 字符串字面量类型:字符串字面量类型允许指定字符串必须的固定值。
- 数字字面量类型
- 映射类型:新类型以相同的形式去转换旧类型里每个属性。
什么是TypeScript中的泛型?
- 泛型是一个提供创建可重用组件方法的工具
- 是一个可以处理多种数据类型的组件
- 允许创建泛型类、泛型函数、泛型方法和泛型接口
以上是关于关于TypeScript的主要内容,如果未能解决你的问题,请参考以下文章
typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming
typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming