• 15_TypeScript


    一、基础类型

    1.布尔类型

    明确定义一个变量flag,指明必须是布尔类型

    let flag:boolean = false;
    
    • 1

    把一个布尔值赋值个一个变量,ts会自动推到,这个变量是布尔类型

    let bool = true;
    
    • 1

    2.数字

    明确定义一个变量num,指明必须是数字类型

    let num:number = 100;
    
    • 1

    把一个数字赋值一个变量,ts会自动推导,这个变量是数字类型

    let id = 900;
    
    • 1

    3.字符串

    明确定义一个变量str,指明是字符串类型

    let str:string = 'hello'
    
    • 1

    把一个字符串赋值一个变量,ts会自动推导,这个变量是字符串类型

    let str2 = 'world'
    
    • 1

    4.数组

    明确定义一个变量是一个数组,数组里面的元素都是数字类型

    let arr:number[] = [1,2,3]; // 方式一
    let arr2:Array<number> = [2,3,4];// 方式二
    
    • 1
    • 2

    把一个数组字面量赋值给一个变量,ts会自动推导,这个变量是数组类型

    let arr3 = [1,2,3,4];
    
    • 1

    5.any

    任意值,在我们不需要ts做类型检测的时候使用
    不检查这个类型可以使用的方法,也不检测他拥有的属性

    let noMatch:any = 4;
    
    • 1

    noMatch本来没有push方法,如果用了any,就不检查push方法是否能调用

    noMatch.push()
    
    • 1

    6.unknown

    任意值,在我们不需要ts做类型检测的时候使用
    但是会限制能调用的方法
    unknown类型不存在任何方法

    let noMatch:unknown = [1,2,3];
    
    • 1

    7.断言

    我告诉ts,我比你更清楚这个数据是什么类型,你听我的

    (<number[]>noMatch).push(100)// 方式一
    (noMatch as number[]).push(100)// 方式二
    
    • 1
    • 2

    8.void

    与any相反,表示没有任何类型
    当一个函数没有返回值的时候,设置返回值void

    function fn():void{
       
      console.log('hello world')
    }
    
    • 1
    • 2
    • 3
    • 4

    9.联合类型

    可以是多种类型中的一种
    只能访问所有类型共有的属性和方法

    let type:string|number|boolean = '1'
    console.log(type.toString())
    
    • 1
    • 2

    二、函数

    1.函数声明

    function add(a:string,b:number):void{
       
      // 不能有返回值
    }
    add('hello',12)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.函数表达式

    let add2 = (a:string,b:string):number=>{
       
      // 返回值必须是number类型
      return (a+b).length;
    }
    add2('hello','world')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3.完整的函数类型定义

    函数的形参名不要求一样,只要参数个数和类型相同就可以

    参数个数不能多也不能少

    let add3:(a:number,b:number[]
    • 相关阅读:
      SpringMVC学习
      IT人必看 | 2022年春招市场行情报告——高薪职业榜首是这些!
      校园综合服务平台V3.9.2 源码修复大部分已知BUG
      介绍两种Revit绘制斜墙的方法及快速【梁随斜板】
      MySql 5.7.38下载安装教程 ,并实现在Navicat操作MySql
      html和css创建一个简单的网页
      python毕业设计作品基于django框架 多用户商城平台系统毕设成品(5)任务书
      【学习笔记15】JavaScript的函数
      什么是重放攻击(Reply attack)?
      算法刷题打卡第27天:省份数量---深度优先搜索
    • 原文地址:https://blog.csdn.net/weixin_58764638/article/details/127418265