TypeScript语法

一、组成部分

  • 模块
  • 函数
  • 变量
  • 语句和表达式
  • 注释

二、第一个TypeScript

1
2
const hello : string = "Hello World!"
console.log(hello);
  • 先通过tsc编译成JavaScript
1
2
var hello = "Hello World!";
console.log(hello);
  • 用node app.js运行得到Hello World
  • app.ts->TSC->app.js
  • 也可以同时编译多个文件

三、TypeScript关键字

  • image-20211201163802251

四、对于高级语言开发者更好的切换

  1. 可在编写过程中发现错误
  2. 提供重构工具
    1. 重命名符号名
      1. 自动删除未使用的声明
      2. 自动删除执行不到的代码
      3. 自动添加缺少的模块导入语句
    2. 提取到函数或方法
    3. 提取类型

五、基础关键字

  • var:默认值为undefined
  • let:默认值为undefined
  • const:声明一个常量必须给初始值

六、作用域

  • 块作用域:{}大括号中

七、注释

  • 单行注释://

  • 多行注释:

    1
    /*code*/
  • 区域注释

  • // #region 区域描述
    let x = 0;
    // #endregion
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19

    ### 八、数据类型

    + Undefined:类初始化是被使用
    + Null:表示未初始化的对象,或JSON中的空值
    + Boolean:逻辑值true,false
    + String:文本字符串
    + Symbol:值唯一不可改变
    + Number:代表数字,不区分,int,float,long,double
    + Object:可以存储任意值

    #### 1.模板字面量

    + 多行字符串-配合字符串占位符

    ```typescript
    const root = 'test';
    //test
    const test = `${root}`;

2.数据属性

1
2
3
{
PropertyName: PropertyValue,
}
  • PropertyName表示属性名,PropertyValue表示属性值

3.存取器属性

1
2
3
4
5
6
{
get PropertyName() {
return PropertyValue;
}
set PropertyName(value) {}
}

4.可计算属性名

1
2
3
4
5
6
7
{
[PropertyExpression]: PropertyValue,
get [PropertyExpression]() {
return PropertyValue;
}
set [PropertyExpression](value){ }
}

九、类型基础

1、包含以下几种类型

  • boolean
    • 有两个逻辑值
      • const yes: boolean = true;
  • string
    • 使用UTF-16储存
      • const foo: string = ’foo‘;
  • number
    • 采用双精度64位二进制浮点数格式
      • const integer: number= 10;
  • bigint
    • 可以表示任意精度的整数
      • const integer: bigint = 10n;
  • Symbol, unique symbol
    • 对应JavaScript中的Symbol
      • Const key: symbol = Symbol();
  • undefined
  • null
  • void
  • 枚举类型-可以通过枚举成员名访问值
    • 数值型枚举-是number类型的子类型
      • 没有给成员赋值时,会自动给成员赋值,第一个为0,其后每个加1
    • 字符串枚举
      • 需要字符串赋值或另一个字符串枚举成员来初始化,没有自增长的行为
    • 异构型枚举
      • 允许使用两种类型的枚举-在代码中很少使用,通常使用对象代替
      • 必须给跟在字符串类型后面的数值类型赋初始值
  • 字面量类型

TypeScript基础类型

  • any 任意类型
  • number 数字类型
  • string 字符串类型
  • boolean 布尔类型
  • 数组 无
  • 元组 无
  • enum 枚举
  • void void表示方法没有返回值
  • null null表示对象值缺失
  • undefined 用于初始化变量为一个未定义的值
  • never 代表从不会出现的值