TypeScript学习(二)

♥走进TypeScript的数据类型♥ 前言:无论在学习什么语言的时候,我们都需要明白其该怎么样去定义一个变量或者Function,那么今天我们来看看TypeScript的数据类型。 文章目录:一.Ts与Js的区别二.Ts的数据![在这里插入图片描述](https://img-blog.csdnimg.cn/8904446afa764db282b731721429ebda.png)三.数据类型应用1.any类型:2.number类型:3.string类型:4.Array类型:(1).[]:(2).数组泛型: 一.Ts与Js的区别 众所周知:Jav 阅读详情

1.JS/TS中有哪些数据类型

JS中的数据类型其实是值的类型,如:

var age = 15、var name = '张三'、var a = true

TS中的数据类型是指变量的类型:

type number = 1|1.1|2|30...、type string = a|b|ab|c|sadda...、type boolean = true|false('|'为并)

type Object = {?} | Array | Function | String | Number | Boolean | RegExp(正则表达式) | ...

关于大小写的number/string/boolean:

js的历史遗留问题

var n = 42、 var m = new Number(42)

当使用42.toFixed(2)时:

JS中的Number、String、Boolean只用于包装对象,正常开发者不用它们,在TS里也不用。

2.如何在TS里描述对象的数据类型:

1.用class/constructor描述

2.用type或interface描述

用类型签名和Record描述对象:

由于object太不精确,所以TS开发者一般使用类型签名或Record泛型来描述普通对象

注:索引签名的类型必须是string、number、symbol或者模板自变量类型。

3.如何在TS里描述数组对象:

用[ ]和Array泛型来描述数组:

由于Array太不精确,所以TS开发者一般用Array<?>或string[ ]或[string,number](二元组)等写法来描述数组。

注:若type A = [1,2,3], 则const a:A  = [1,2,3], 否则报错。

4.如何在TS里描述函数对象:

type FnA = (a:number, b:number) => number // 有两个number类型的参数,返回值为number的函数

const a:FnA = (x, y) => { return 123}
//const a:FnA = (x) => {return 123}  (参数可以少传或不传)

a(1,2)  //调用的时候必须传完整的参数

type FnReturnVoid = () => void  //返回值为void

type FnReturnUndefined = () => undefined //返回值为undefined

const f1: FnReturnVoid = () => { console.log(hi) }

const f2: FnReturnUndefined = () => { console.log(hi)   return undefined }

可以调用this的函数写法:

type Person = {name:'aa',age:12,sayHi:FnWithThis}  // 定义Person

type FnWithThis = (this:Person , name:string) => void // 定义FnWithThis函数

const sayHi : FnWithThis = function() { console.log('hi' + this.name) } // 声明sayHi函数

const x:Person = {name:'asdsad',age:22, sayHi:sayHi} // 声明x对象

x.sayHi('Jack') / sayHi.call(x,'Jack')  // 两种调用方式

5.其他对象一般用class描述:

TS复习-----TS中的函数 函数是一种特殊的对象,可以被调用。TS 里的函数和原生,ES 6 里的函数差不太多,只是多了一些其他功能。// 1.函数声明法}// 2.匿名函数法}// 3.没有返回值的方法}TS 里可以自定义传入参数的类型以及函数返回的类型。} 阅读详情

相关推荐

openMVS ---dense point cloud(代码理解)

openMVS ---dense point cloud(代码理解)0 代码实现原理1 代码实现步骤1.1 参数传递1.2 loading .mvs数据1.3 稠密重建1.3.0 相关变量及概念1.3.1 ComputeDepthMaps(data) --计算多张深度图1.3.1.1. pre1.3.1.2 为每一张depth map Select view(s) !!!1.3.1.2.1 N neighbors --- global score + filter1.3.1.2.2 MRF ---- t

小rivaaaa的博客 5328

typescript(四)ts中函数的参数和返回值的类型定义

前面我们讲到过ts的静态类型定义中的函数类型定义,先来回顾下: const fnA: () => string = () => { return '1' } const fnB: () => number = () => 6 const fnC: () => boolean = () => true 拓展下:在接口中如何定义函数类型呢?接口后期会讲 interface Ifn { (one: number, two: number): number } let

weixin_44959855的博客 2万+

C++跨平台Word文档处理库DuckX实战指南:从原理到项目集成

在C++开发中,处理Office文档,尤其是Word文件,常因缺乏原生易用的库而面临挑战。Office Open XML(OOXML)作为.docx文件的基础标准,其本质是包含XML文件的ZIP压缩包。理解这一原理,开发者便能通过解析和操作XML来实现文档的读写。DuckX库正是基于此,为C++提供了轻量级的解决方案。它封装了底层的ZIP处理和XML解析,提供了简洁的面向对象API,其技术价值在于实现了跨平台、无外部依赖的Word文档自动化生成与处理。这尤其适用于服务器端、嵌入式环境或需要脱离Office软

weixin_33508411的博客 387

【快速了解TypeScript】Ts中的数据类型

ts常见的数据类型string,number,null,undefined等.....null&undefined类型。而经过编译后的js代码如下。interface接口。

zhaochen1127的博客 2329

手把手教你用VSCode+MCUXpresso搭建i.MX RT1062开发环境(附RT-Thread Nano移植)

本文详细介绍了如何使用VSCode和MCUXpresso工具链搭建i.MX RT1062开发环境,包括工具链安装、工程配置、调试技巧以及RT-Thread Nano实时操作系统的移植方法。通过实战步骤和优化建议,帮助开发者快速掌握这款高性能Cortex-M7 MCU的开发流程,提升嵌入式开发效率。

weixin_27014595的博客 392

基于FPGA的DDR学习——1.基础知识

⚪DDR2(Double Data Rate2)SDRAM是由JEDEC(电子设备工程联合委员会)开发的第三代SDRAM内存技术标准,1.8V工作电压,240线接口,提供了相较于DDR SDRAM更高的运行效能与更低的电压,同样采用在时钟的上升/下降沿同时进行数据传输的基本方式,但拥有两倍于上一代DDR内存预读取能力(即4bit数据预取能力),其常见的频率规范有DDR2 400\533\667\800\1066\1333等,总线频率553MHZ的DDR2内存只需133MHZ的工作频率。

qq_44932488的博客 2071

TypeScript详解十一:类型推断、类型变换

类型推断和类型变换是ts中很重要的一部分功能,能保证我们写出更高质量的ts代码本文主要记录了ts中类型推断及类型转换。

to_the_Future的博客 1994

单窗算法的地表温度反演:谷歌地球引擎GEE代码

该论文基于Statistical Mono-Window(SMW)算法,对地表温度加以求解。其中,简单地说,SMW算法即是通过简单的线性关系,对由单热红外波段所得的大气表观亮温与地表温度之间的经验关系加以表示,从而计算得到LST。

2301_78834737的博客 564

TypeScript学习【二】

TypeScript函数特性摘要:TypeScript为函数增强了类型约束,包括返回值类型(如number/void)、可选参数(?)和默认参数。支持剩余参数(...)处理不定参数,箭头函数可约束参数和返回值类型。接口(interface)用于复杂数据结构验证,可定义对象属性类型,还支持数组索引和元素的类型控制。接口可通过extends实现单继承或多继承,但需注意属性冲突问题。这些特性提升了代码的健壮性和可维护性,同时保持JavaScript的灵活性。

zheshiyangyang的博客 908

KingSCADA3.8保姆级安装教程

大家好,我是雷工!最近开始学习KingSCADA,今天这篇详细记录安装KingSCADA3.8的过程。首先下载需要的安装版本,此处以从官网下载的最新版本KingSCADA3.8为例,双击:Setup.exe;

做有价值的事,积累有价值的笔记! 1万+

在VINS-FUSION上处理KITTI数据集(双目+GPS)

VINS-Fusion 是一个开源的实时多传感器状态估计库,主要由香港科技大学的沈邵劼教授领导的研究团队开发。它是 VINS-Mono(单目视觉惯性系统)的扩展,支持多种传感器组合,如双目、立体相机和IMU。

如果想成为中心,那么就到中心去吧。 1206

【TypeScript学习】TypeScript基础学习总结二

也在写这个过程中感受到了ts的一些特点,比如:必须先声明res且定义其为空字符才能进行后面的相加和赋值;

weixin_45626095的博客 577

多组学联合高级Mantel-test热图

对应的是「metabo」中物质间的相关性热图,单元格色块颜色表示相关系数大小,橙色表示+相关,绿色表示-相关;单元格内的数值表示相关性值大小,星号表示显著性。双组学(微生物组/ 转录组/代谢组等两两组合)关联分析,可视化组学特征间的关联显著性、强度及相关方向。表示<trans>与<metabo>中物质的Mantel test结果。表示整体相关的系数,连线颜色表示相关系数的显著性检验结果。宿主-微生物互作、疾病多组学机制、环境-生物多组学关联。为物质名称,不允许存在空值、重复值。

多组・学・多组学 369

TypeScript 类与接口学习周报(二)

定义类中可以被调用的功能,如输出描述等。

Lihuasheng_的博客 1036

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TypeScript的学习二

TypeScript ——javascript的超集(superset) 任何一种javascript运行环境都支持,功能更为强大,生态也更健全,更完善 TypeScript_前端领域中的第二语言 缺点一:语言本身多了很多概念,如果接口,泛型之类的,但是属于渐进式 缺点二:项目初期,typescript会增加一些成本,因为一开始会写很多的申明,对象函数之类的,如果是长期大型的项目可以使用typescript,因为这些声明都是一劳永逸的 快速上手 yarn init –yes yarn add typesc

山有木兮的博客 224

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

typeScript学习(二)

前面我们学习了关于TS的一些静态数据类型的定义 那么接下来我们来讲解一下数组和元组 这次需要学习的东西比较简单。 1.数组定义数据类型 //定义数组类型的方式 //一、 const numberArr: number[] = [1, 2, 3] //二、 const arr:Array<number>=[1,2,3] //定义其他类型的数组 const stringArr: string[] = ['a', 'b', 'c'] const undefinedArr: undefined[] =

李@@的博客 2230

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

typescript学习文档(二)

TypeScript学习笔记,ts基础使用与概念了解

留白声的博客 1163

TypeScript 学习之路(二)

接口 赋予一个类型 函数调用 可选属性:option bags 模式; 只读属性:readOnly=> ReadonlyArray类型 数组无法修改; 可索引类型:索引签名设置为只读 防止索引赋值; 类类型; 继承接口:一个接口可以继承多个接口,创建出多个接口的合成接口; 混合类型; 接口继承类; interface Person { firstName: string; lastName: string; } function greeters(person: Person) { r

xiaomomi的博客 710

TypeScript学习总结(二)

TypeScript 函数的定义和调用与 JavaScript 函数的定义和调用基本相同。函数的定义:在 TypeScript 中,可以使用function关键字来定义函数。add是函数的名称。是函数的参数列表,其中x和y是参数的名称,: number表示它们的类型为数字。: number表示函数的返回类型为数字。是函数体,表示函数要执行的操作。注意,在 TypeScript 中,可以通过给参数指定类型和返回类型来增强代码的可读性和安全性。

qq_34185872的博客 679

typescript学习(二)

这里记录下Typescript第二部分的学习,重点注意下接口以及函数’

weixin_45953482的博客 526

TypeScript 基础学习(二)

TypeScript 基础学习(二)回顾es5继承ts中的类,类的继承,属性修饰符类,类的继承属性修饰符类中的静态属性 静态方法 抽象类 以及多态静态属性 静态方法多态抽象类 今天接着学习ts中的类相关知识 回顾es5继承 // es5里面得类 实际上是个方法 function Person(){ this.name = 'zhangsan'; this.age = 20; } // 然后实例化 var p = new Person(); // 这里只有属性 没有方法 这是最最简单的类 /

weixin_44288627的博客 187

TypeScript学习笔记(二)——TypeScript 高级类型

概述:TS 中的高级类型有很多,重点学习以下高级类型:1.class 类2.类型兼容性3.交叉类型4.泛型 和 keyof5.索引签名类型 和 索引查询类型6.映射类型TypeScript 全面支持 ES2015 中引入的class关键字,并为其添加了类型注解和其他语法(比如,可见性修饰符等)。解释:根据 TS 中的类型推论,可以知道 Person 类的实例对象 p 的类型是 Person。TS 中的class不仅提供了 class 的语法功能,也作为一种类型存在。

weixin_56370772的博客 1513

学习TypeScript(二)

arr[0] // 这样的arr 是一个伪数组 所以可以使用下标来访问值伪数组是没有数组的方法的定义了函数的类型 又定义了一个fnName的属性定义(x: number): number //函数类型的定义fnName: string //参数类型定义return x。

m178398家里有只小肥猫 667

TypeScript学习笔记二 接口

学习教程:https://www.w3cschool.cn/typescript/typescript-interfaces.html 比如我写一段程序,打印出名字 function printPerson(person:{name:string}){ console.log(person.name) } let xiaozhang = {name: "张三",age:18,fro...

Zack_ZXY的博客 296

TypeScript学习笔记(二)

开启ts学习之路,本篇ts的复杂数据类型、字面量类型、返回值类型、剩余参数和this。

aiyang1214878408的博客 5761
上一篇: TypeScript学习(一)
下一篇: TypeScript学习(三)
Lxg-JJJJ
博客等级 码龄7年 960粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值