当前位置: 首页 > news >正文

猿创征文|【Typescript入门】常用数据类型(2)

多一些不为什么的坚持🤳

贤蛋 🥚大眼萌 ,一名很普通但不想普通的程序媛🙊

📝本文章收录于专栏:Typescript学习

常用数据类型(2)

    • 🧵 函数的参数类型
      • 🛶 匿名函数的参数
    • 💍 对象类型
    • 💼 联合类型
    • 🎨 类型别名

🧵 函数的参数类型

​ 函数是 JavaScript 中非常重要的部分。TypeScript允许我们指定函数的参数和返回值的类型。

函数参数类型的注解:声明函数时,可以在每个参数后添加类型注解,以声明函数接受的参数类型。

image-20220831171120751

和变量的类型注解一样,通常情况下不需要返回类型注解,因为TypeScript会根据 return 返回值推断函数的 返回类型。

🛶 匿名函数的参数

​ 当一个函数出现在TypeScript可以确定该函数会被如何调用的地方时,该函数的参数会自动指定类型。

image-20220831174825185

​ 这个过程称之为上下文类型(contextual typing),因为函数执行的上下文可以帮助确定参数和返回值的类型

💍 对象类型

​ 场景:希望限定一个函数接受的参数是一个对象

image-20220831180336910

对象类型也可以指定哪些属性是可选的,可以在属性后面添加一个 ?

后面会详细讲解可选类型

💼 联合类型

​ 联合类型(Union Type)是由两个或者多个其他类型组成的类型,表示可以是这些类型中的任何一个值,联合类型中的每一个类型被称之为联合成员(union’s members),中间用一个 “ | ”隔开

image-20220831181114872

image-20220831181520543

🎨 类型别名

​ 通过在类型注解中编写 对象类型 和 联合类型,但是当我们想要多次在其他地方使用时,就要编写多次,这个时候就可以给对象类型起一个别名。使用关键字 type

image-20220831181658679

在这里插入图片描述

相关文章:

  • 上新啦!腾讯云云原生数据湖产品DLC 2.2.5版本发布,来看特性详解!
  • 【观察】赋能中小企业驶入成长“快车道”,华为云云商店背后的三重新价值...
  • TVM 学习指南(个人版)
  • pringboot+高考志愿填报信息管理系统 毕业设计-附源码251922S
  • python基于django的花卉种植技术交流系统
  • FastFlow(3)---有序FARM
  • Springboot餐饮点餐系统毕业设计源码301749
  • 借身份证给别人办理流量卡有风险吗?这些情况你必须要知道!
  • 概述LCR测试仪IM3536日本HIOKI日置IM3535 阻抗分析仪
  • qiankun微应用加载第三方js、sdk跨域报错
  • Linux网络编程-网络层IP协议
  • 神经网络图像识别代码,编码解码神经网络
  • 5分钟从掌握到精通---进制转化
  • centos安装zabbix
  • 前缀和以及哈希表优化
  • Apache Spark Streaming 使用实例
  • CSS相对定位
  • JAVA 学习IO流
  • jquery cookie
  • Linux各目录及每个目录的详细介绍
  • Object.assign方法不能实现深复制
  • PHP面试之三:MySQL数据库
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 第十八天-企业应用架构模式-基本模式
  • 搞机器学习要哪些技能
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 判断客户端类型,Android,iOS,PC
  • 强力优化Rancher k8s中国区的使用体验
  • 实现简单的正则表达式引擎
  • 数组大概知多少
  • 想写好前端,先练好内功
  • 《天龙八部3D》Unity技术方案揭秘
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #Lua:Lua调用C++生成的DLL库
  • (2022 CVPR) Unbiased Teacher v2
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (小白学Java)Java简介和基本配置
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)母版页和相对路径
  • .bat批处理出现中文乱码的情况
  • .NET Micro Framework初体验
  • .net MySql
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .net操作Excel出错解决
  • .NET企业级应用架构设计系列之技术选型
  • @property @synthesize @dynamic 及相关属性作用探究
  • [ C++ ] STL---stack与queue