• Typescript学习笔记 | 字节青训营笔记


     TypeScript简介

    TypeScript是一种由*微软开发*的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上TypeScript扩展了JavaScript的语法,这意味着他支持所有的 JavaScript 语法。TS在JavaScript的基础上添加了类型支持,可在任何运行的JavaScript的地方运行.
    TypeScript 它是一个*静态类型检查器*,在执行之前(编译)检查程序是否存在错误,可以显示标出代码中的意外行为,并根据*值的种类进行*检查,从而降低了发生错误的可能性.


     TypeScript特点:

    -   可读性增强:基于语法解析TSDos,ide增强
    -   可维护性增强:在编译阶段暴露大部分错误。(多人合作的大型项目中,获得更好的稳定性和开发效率)
    -   包含于兼容所有JS特性,支持共存
    -   支持渐进式引入与升级


     对象类型

    特点:对象类型在TS更加细化,对每个的对象都有自己的类型语言。

    **接口(interface)** :在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。

    > **注意**:使用interface关键字定义接口一般首字母大写,并在接口名称上加上大写 I 前缀。

    -   **可选属性**:定义该属性可以不存在。(在该属性后加上?号)。
    -   **只读属性**:约束属性不可在对象初始化外赋值。(在对象的某个或某些属性前加上关键字 **readonly**,可以设置该属性为只读属性)。
    -   **任意属性**:约束所以对象属性都必须是该属性的子类型。


    ### 数组类型

    **两种写法**:

    1. ```
    2. 1.
    3. const numbers: number[] = [a,b,c]
    4. 2.
    5. const strings: Array<string> = ['a', 'b', 'c']
    6. ```

    如果是数组中既有number,又有string,该怎么写?

    **联合类型(由两个或多个其他类型组成的类型,表示可以是这些类型中的任意一种)**:

    1. ```
    2. const arr: (number | string)[] = [1,'a',2,'b']
    3. ```


     函数类型


    在 TypeScript 中,有两种常见的定义函数的方式——函数声明(Function Declaration)和函数表达式Function Expression)。
    1.  单独指定参数,返回值类型:

    1. // 第一第二number分别为参数num1,num2添加数字类型,第三个number则为返回值添加数字类型
    2. function plus(num1: number, num2: number): number {
    3.   return num 1+ num2
    4. }
    5. plus(1,2

    1.  单独指定参数,返回值类型:

    1. ```
    2. const add = (num1: number, num2: number): number => {
    3.   return num1 + num2
    4. }
    5. add(2,3)
    6. ```


    **注意**:不要混淆了 TypeScript 中的 `=>` 和 ES6中的 `=>`。

    -   在 TypeScript 的类型定义中,`=>` 用来表示函数的定义,**左边是输入类型,需要用括号括起来,右边是输出类型**。
    -   在 ES6 中,`=>` 叫做箭头函数,应用十分广泛。

  • 相关阅读:
    Spring 注解的诠释
    Elixir-Basic types 之 Binaries、strings、charlist
    Codeforces暑期训练周报(8.15~8.21)
    编写Linux设备驱动程序的注意事项
    算法 Hw8
    基于ssm的商场管理信息系统的设计与实现
    学习Java编程入门书籍
    商城有一个抽奖活动,作为用户购买三件商品才能抽奖一次,怎么分析测试点
    U++ 游戏类 学习笔记
    Vue-组件通信6种方式
  • 原文地址:https://blog.csdn.net/kilig_CSM/article/details/126233284