为了账号安全,请及时绑定邮箱和手机立即绑定
  • // void、undefined 与 never

    function printResult () : void {

        console.log("lalala");

    }

    console.log(printResult()); // 报错


    function printResult () : undefined  {

        console.log("lalala");

    }

    console.log(printResult()); 


    function throwError(message: string, errorCode: number) :never{

        throw {

            message,

            errorCode

        }

    }

    throwError("not found", 404);


    function whileLoop(): never {

         while(true) {

            console.log("hahah")

        }

    }

    查看全部
  • // any 和 unkonwn

    let randomValue: any = 666;

    randomValue = true;

    randomValue = "asdga";

    randomValue = {};

    randomValue(); // 报错

    randomValue.toUpperCase(); // 报错



    let randomValue: unknown= 666;

    randomValue = true;

    randomValue = "asdga";

    randomValue = {};


    if(typeof randomValue === 'function') {

        randomValue(); 

    }


    if(typeof randomValue === 'string') {

        randomValue.toUpperCase(); // 报错

    }

    查看全部
    0 采集 收起 来源:Any 与 unknow

    2022-03-10

  • // 枚举类型 Enum

    enum Color {

        red,

        green,

        blue

    }


    let color = Color.blue;

    console.log(color);


    enum Color2 {

        red = 2,

        green = 10,

        blue = 1

    }


    enum Color3 {

        red = "red",

        green = "green",

        blue = 1

    }

    查看全部
    0 采集 收起 来源:枚举类型 Enum

    2022-03-10

  • // 联合(Union)与文献[Literal]类型

    let union: string | number

    union = 2;

    union = "uuhkd";

    union = true; // 报错


    let union2: number | string | boolean | string[];

    const merge = (n1:  number | string, n2: number | string, resultType: "as-number" | "as-string" ) => {

        if(resultType === "as-string" {

            return n1.toString() + n2.toString();

        }


        if(typeof n1 === "string" || typeof n2 === "string") 

            return n1.toString() + n2.toString();

        else 

            return n1 + n2

    }


    let mergeNumber = merge(2, 5, "as-number");

    let mergeNumber = merge(2, 5, "as-string");

    let mergeString = merge("hello", "world", "as-string");


    // 字面量类型(literal)

    let union3: 0 | 1 | 2

    union3 = 1;

    查看全部
  • let list1: number[] = [1, 2, 3, 4, 5]; // number数组类型

    let list2: Array<number> = [1, 2, 3, 4, 5]; // 泛型

    let list3= [1, 2, 3, 4, 5];


    let list4 = [1, "dd"];

    let list5: any[] = [1, "dss", true];  // any数组类型


    // tuple  固定长度、固定类型的array

    let person1: [number, string] = [1, "hhh"]; // 元组(特殊数组,固定长度,固定类型)

    查看全部
  • lite-server快速搭建本地服务器

    查看全部
  • 通过使用泛型,完美的保证代码中类型的一致性

    let message = <T>(arr: T[]) => {

       return arr[arr.length -1]

    }

    const a1 = message([1,2,3,4])

    const a2 = message(["1","2","3"])

    const a3 = message<string | number>(["a","b","c",4])


    let makeTuple = <T,Y>(x: T, y:Y) => [x, y]


    const v1 = makeTuple(1, "one")

    const v2 = makeTuple<number | string>(1, "one")

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

    2022-03-03

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

    let message : any;

    message = 'abc';

    message.endsWith('c'); // 此时不会生效,虽然上面已经指定了字段为字符串,但是字段默认初始类型为any.


    let ddd = (<string>message).endsWith('c') // 类型断言为string,此时可以调用字符串的方法了

    let ddd = (message as string).endsWith('c') // 类型断言为string,此时可以调用字符串的方法了

    查看全部
  • 联合类型(union)

    let union: string | number | boolean | string[] = 5

    let union: 0 | 1 | 2 //不仅联合类型确定了,值也确定了


    字面量类型(literal)

    let literal : 1 || '2' || true || [1,2,3]

    查看全部
  • let array: Array<number> = [1,2,3] // 泛型

    let array: any[] = [1,2,3,'ddd',true] // any数组类型

    let array: number[] = [1,2,3] // number数组类型

    let person1: [number, string] = [1,'ddd'] // 元组(特殊数组,固定长度,固定类型)

    查看全部
  • http://img1.sycdn.imooc.com//622073110001271712260704.jpg

    课程大纲

    查看全部
    0 采集 收起 来源:课程大纲

    2022-03-03

  • 高级类型

    查看全部
  • 类型记录

    查看全部
  • 11111

    查看全部
    0 采集 收起 来源:课程总结

    2022-02-24

举报

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

微信扫码,参与3人拼团

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

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