关于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

typescript 打字稿+角度1的启动片段

从 TypeScript 类型定义或 GraphQL 片段定义生成 JavaScript 空对象

关于代码片段的时间复杂度

关于片段生命周期