• TypeScript简记(一)


    TypeScript简介

    Typescript特点:

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

    TS相比JS的优势:

    • TypeScript工具使重构更变的容易、快捷。
    • TypeScript 引入了 JavaScript 中没有的“类”概念。
    • TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中
    • 类型安全功能能在编码期间检测错误,这为开发人员创建了一个更高效的编码和调试过程。

    编译器推荐:Vscode

    TypeScript基本数据类型

    • any(任意类型):声明未any的变量可以赋予任意类型的值;
    • number(数字类型):双精度64位浮点值。它可以用来表示整数和分数;
    • string(字符串类型):使用单引号或者双引号表示字符串类型。反引号可定义多行文本;
    • boolean(布尔类型):表示逻辑值:true和false;
    • 数组类型:声明变量为数组;
    • void类型:无类型,只能赋予undefined和null。

    扩展:

    • 元组类型: 用来表示已知元素数量和类型的数组,各元素类型不必相同,在声明时对应位置的类型需要相同;
    • enum(枚举类型):用于定义数值集合;
    • null:表示对象缺失;
    • undefined:初始化变量一直未定义的值;
    • never是其他类型的子类型,代表从不会出现的值。

    TypeScrip对象数据类型 

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

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

    •  任意属性:约束所有对象属性都必须是该属性的子类型;
    • 只读属性:约束属性不可在对象初始化外赋值(在对象的属性前加关键字readonly);
    • 可选属性:定义该属性可以不存在(在该属性后加上?)。

    TypeScrip函数类型

    TS中有两种常见的定义函数的方式——函数声明和函数表达式

    函数声明:

    1. function sun(x: number, y: number): number{
    2. return x + y;
    3. }

    函数表达式:

    1. let sum: (x: number, y: number) => number = function(x: number, y: number): number{
    2. return x + y;
    3. }

    注:不要混淆了TS中的=>和ES6中的=>

    TS中表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型,

    ES6中是一种应用广泛的箭头函数。

    TypeScript重载 

    函数重载:具备不同参数的同名函数。

    函数重载具有两天特征:名称相同,参数不同(参数类型、个数不同)

    函数重载是多态的一种体现

     TS中函数重载主要包括两部分:函数声明,和函数实现。

    函数声明:是TSC解析的一种声明体现,实际编译中,并不好编译成具体代码。

    参数不同的函数重载:

    function print(info: string, message: string): void;

    而当着两种声明,同时存在在TS的声明文件中,我们就需要用函数重载来实现,这是js没有的特性。

    参数个数相同,但是类型不同的函数重载

    函数声明中参数的类型是不同的,在这种情况下,就要用到联合类型

    1. function print(message: string | number) {
    2. conlose.log(message)
    3. }

    可以看出,在TS中实现函数重载的方式分别是利用了TypeScript中的两个类型特性:可选类型和联合类型。

  • 相关阅读:
    制作一个简单HTML大学生抗疫感动专题网页(HTML+CSS)
    贝叶斯建模:从先验合理性到后验分布
    iOS ActivityViewController使用
    Scrum认证高级Scrum Master (A-CSM) 认证培训课程
    集群的概述与定义,一看就会
    uniapp的app苹果应用商店上架最简教程
    Ubuntu20.04系统安装cuda11.3
    wpf Line
    大学生静态HTML网页源码 我的校园网页设计成品 学校班级网页制作模板 web课程设计 dreamweaver网页作业
    Linux之基于HTTPS的静态网站
  • 原文地址:https://blog.csdn.net/Maca_Baca/article/details/126212837