Mortal红尘 Mortal红尘
首页
  • 学习笔记

    • 前端
    • 后端
  • 《ES6教程》
  • 《Git教程》
  • 《JavaScript教程》
  • 《JavaScript文章》
  • 《TypeScript 从零实现 axios》
  • 《Vue教程》
  • 《Vue文章》
  • 《页面与效果》
  • 技术文档
  • GitHub技巧
  • Nodejs
  • Linux
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Mortal红尘

热爱各种技术的一枚憨憨前端
首页
  • 学习笔记

    • 前端
    • 后端
  • 《ES6教程》
  • 《Git教程》
  • 《JavaScript教程》
  • 《JavaScript文章》
  • 《TypeScript 从零实现 axios》
  • 《Vue教程》
  • 《Vue文章》
  • 《页面与效果》
  • 技术文档
  • GitHub技巧
  • Nodejs
  • Linux
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端

    • 《TypeScript》笔记

      • TypeScript-概要
      • TypeScript快速上手
        • TypeScript笔记
      • Flow类型检查工具

      • 《JavaScript高级程序设计》笔记
      • 小程序笔记
      • JS设计模式总结笔记
    • 后端

    • 学习笔记
    • 前端
    • 《TypeScript》笔记
    Mortal红尘.
    2021年8月22日
    目录

    TypeScript快速上手

    # .

    # TypeScript 快速上手

    # 安装TypeScript以及运行环境

    npm i -D typescript
    or
    npm install -g typescript
    
    1
    2
    3

    ts-node 是 Node.js 的 TypeScript 执行引擎和 REPL。

    它 JIT 将 TypeScript 转换为 JavaScript,使您无需预编译即可直接在 Node.js 上执行 TypeScript。这是通过挂钩 node 的模块加载 API 来实现的,使其能够与其他 Node.js 工具和库一起无缝使用。

    npm install -D ts-node
    or
    npm install -g ts-node
    
    1
    2
    3

    # 运行TypeScript

    demo-01.ts

    function hello(name:string):void{
        console.log(`hello ${name}`)
    }
    hello('Mortal红尘.')
    
    1
    2
    3
    4
    ts-node demo-01.ts
    # ts-node 配合webStorm or VSCode 编码跟顺畅 肥肠方便
    or
    # typescript
    tsc demo-01.ts # 不会直接运行,会编译出一个js文件,默认es2015,
    # tsc是typescript自动的命令,编译整个项目or单个文件
    
    1
    2
    3
    4
    5
    6

    初始化tsc编译配置文件,配置整个项目编译规则 详情点击TypeScript的tsconfig.json配置 (opens new window)

    tsc --init
    
    1

    # TypeScript 常用类型

    // 任意
    let an: any = 1
    // 字符
    let str: String = '1'
    // 数字
    let num: Number = 1 // NaN Infiity
    // 布尔
    let bool: Boolean = true
    // 数组
    let arrNum: Number[] = [123]
    // 只存放字符串值
    let arr2: Array<String> = ['java']
    // 元组,值的顺序必须与定义类型的顺序一致,不能多不能少
    let arr: [String, Number] = ['1231', 4444]
    
    let nu: null = null
    
    let vo: void = undefined
    
    let sym: symbol = null
    
    // 枚举 enum , 如果不指定值那么,值将会是索引值(从0开始)
    enum networkStatus {
        success,
        error
    }
    let net: networkStatus = networkStatus.success
    
    // 前者类型不赋值就使用,得到的将是后者的 undefined。后者不是 undefined,前者也没有赋值将报错。
    let numt: Number | undefined;
    let numt1: Number | null | undefined; // undefined
    
    function run(): void { // 无返回值
    
    }
    
    function run1(): Number { // 可多类型:Number|String
    
        return 0; // 只能返回 Number 类型
    }
    
    /*
    never类型是其他类型,包括 null 、 undefined 的子类型,
    这意味着声明never类型的变量只能被never类型所赋值。
    let a:undefined =;
    a=undefined;
    a=1;报错
    
    let e:never;
    e = (()=> {throw new Error('err')})();
     */
    
    /**
     * 可选参数与默认值,可选参数不能有默认值
     * @param name
     * @param age
     */
    function reg(name?: String, age: Number = 0): String {
        return `${name},${age}`
    }
    
    /**
     * 传入的参数类型是number,如果写成ret: Number[]如果不用Number()转成number将不能运行
     * 基本包装类型:Number,jisuan() 传入的值是Number,Number与 Number不能进行运算
     * 所以需要转换成number
     * https://blog.csdn.net/baidu_25343343/article/details/54849475
     * @param ret
     */
    function count(ret: Number[]): Number {
        var jg: number = 0
        ret.forEach((item, i) => {
            jg += Number(item)
        })
        return jg
    }
    
    console.log(count([1, 12, 312, 31, 23, 1, 31, 231]))
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    编辑 (opens new window)
    #TypeScript
    上次更新: 2024/12/19, 12:18:44
    TypeScript-概要
    TypeScript笔记

    ← TypeScript-概要 TypeScript笔记→

    最近更新
    01
    TypeScript-概要
    8月22日
    02
    常用Git命令清单
    11-18
    03
    TypeScript笔记
    10-08
    更多文章>
    Theme by Vdoing | Copyright © 2021-2025 Mortal红尘 | 黔ICP备2021006288号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×