什么是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中的泛型?

  • 泛型是一个提供创立可重用组件办法的工具
  • 是一个能够解决多种数据类型的组件
  • 容许创立泛型类、泛型函数、泛型办法和泛型接口