为了账号安全,请及时绑定邮箱和手机立即绑定
  • typescript类型

    634a22f300012b0519201080.jpg
    查看全部
  • typescript类型

    634a22d6000146c719201080.jpg
    查看全部

  • 安装nodejs.org下载相应版本
    npm install -g typescrit
    node -v
    tsc -v
    编译ts文件
    tsc main.ts
    执行ts文件
    node main.js
    查看全部
    0 采集 收起 来源:Module 模块

    2022-09-23

  • 元组:固定长度,固定类型的特殊数组,用push会突破长度限制,但需要在约定类型内

    let person = [1, 'abc']:这种不属于元组,是属于联合类型数组

    let person:(number, string)[] = ['abc', 1, true]

    查看全部
  • 设置变量类型后,重新赋值其他类型会提示错误:类型boolean不能赋值给string

    let isTrue = true

    // isTrue = 'abc' ts报错

    查看全部
  • 通过使用泛型 在使用的时候才指定类型,得到不同类型的函数

    const makeTuple = <T = number, U>(x: T, y: U): (T | U)[] => [x, y]

    const v1: (number, string)[] = <number, string)makeTuple(1, 'one')

    查看全部
    0 采集 收起 来源:Generics 泛型

    2022-09-14

  • 一个文件就可以称为一个模块,通过export到出外部使用。可将class封装成一个模块导出

    查看全部
    0 采集 收起 来源:Module 模块

    2022-09-14

  • class类是紧密相关的属性和函数的集合

    避免外部直接操作class属性,就需要使用class访问修饰符加以限制

    设置为private属性后可以通过添加get/set函数在外部访问,赋值时可通过set函数进行校验

    私有熟悉private通常用下划线表示_key,interface中可直接用key:number声明

    查看全部
  • ts的优势

    1. 功能相同的参数包装成对象作为整体传入

    2. 通过校验参数类型add(a: number, b: number),规避了add'1'+'2'='12'的风险

    3. 通过校验对象参数,约束传参对象,规避了随意传递一个对象参数导致报错问题

    封装的聚合规则:高内聚,低耦合,可用class将功能相近的代码组合在一起

    高内聚:功能相关的事物,应该放在同一集合中,形成一个模块

    低耦合:模块之间互相独立,不同模块之间保持低耦合的状态

    查看全部
    0 采集 收起 来源:Interface 接口

    2022-09-14

    • 休息休息

    • 收拾收拾

    查看全部
    0 采集 收起 来源:开篇寄语

    2022-09-02

  • Generics 泛型

    类型<> 泛型


    数据的模板 


    通过使用泛型 在使用的时候才指定类型,得到不同类型的函数


    let makeTuble = <T, Y = number>(x: T, y: Y) => [x, y];

    makeTuble<number, string>(2, '3')

    查看全部
    0 采集 收起 来源:Generics 泛型

    2022-08-14

  • Access Modifier 访问修饰符


    class里面没有写访问修饰符的都是public属性

    public 公有属性

     

    在外部可以修改

    private 私有属性


    在外部无法访问,且interface里面也不可以定义



    ts里面有懒人包可以设置getter setter

    interface也比较好使用 私有成员变量

    查看全部
  • object

    使用object类型时内部结构并不清晰,不会对代码类型校验有任何帮助

    相当于指定了一个{},使用几率较少



    Interface

    interface Point {

        x: number,

        y: number

    } // 高内聚 (把相关联的模块写在一起),低耦合



    class 

    紧密相关的属性和函数的集合

    interface Ipoint {

    x: number,

    y: number,

    drawPoint: ()=> void;

    getDistance: (p: Ipoint) => number;

    }

    class  Point implements Ipoint {

        x: number;

        y: number;

        drawPoint = ()=>{

                

        }

        getDistance = (p: Ipoint) => {

                return Math.pow(p.x - this.x, 2) +  Math.pow(p.y - this.y, 2)

        }


    }

    通过构造函数对class值进行初始化和启用默认值,javascript不支持重载,有且仅有一个构造函数


    ps:构造函数的参数加上关键字public,private,  

    查看全部
    0 采集 收起 来源:class 类

    2022-08-14

  • 函数类型

    let log1 = function (message) {

        console.log(message);

    }

    let log2 = (message) => console.log(message);


    与javascript写法基本类似,区别就是可以指定参数变量类型和返回数据类型


    let log3 = (message: string) => console.log(message);


    // 通过问号表示可选性,不确定的都放在后面

    let log4 = (message?: string) => console.log(message);

    查看全部
    0 采集 收起 来源:函数类型

    2022-08-14

  • 类型断言 (类型适配) Type Assertions

    明确告诉ts进行类型适配 告诉它变量现在就是这种类型


    有两种方式

    1.  <string>message

    2. as 关键词

    查看全部

举报

0/150
提交
取消
课程须知
学习中需要用到这些工具: —visual studio code 代码编辑器 —tsc TypeScript编译器 —nodejs SDK 你需要有这些基础: —可以使用原生JavaScript,有es6的基础知识更佳
老师告诉你能学到什么?
1、学习TypeScript基础知识 2、了解Typescriptg工作流程以及编译原理 3、掌握TypeScript开发配置以及各种常用工具 4、掌握前端静态类型思想 5、深入了解前端面对对象概念

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!