学习TypeScrip1(基本类型)

TS是JS的超集,所以JS基础的类型都包含在内
起步安装 npm install typescript -g
运行tsc 文件名

nodejs 环境执行

ts npm i @types/node --save-dev (node环境支持的依赖必装)

npm i ts-node --g

基础类型:Boolean、Number、String、null、undefined 以及 ES6 的  SymbolES10BigInt

1.字符串类型


字符串是使用string定义的

let a: string = '123'
//普通声明//也可以使用es6的字符串模板
let str: string = `dddd${a}`


其中 ` `(反引号)用来定义 ES6 中的模板字符串,${expr} 用来在模板字符串中嵌入表达式。

2.数字类型


支持十六进制、十进制、八进制和二进制;

let notANumber: number = NaN;//Nan
let num: number = 123;//普通数字
let infinityNumber: number = Infinity;//无穷大
let decimal: number = 6;//十进制
let hex: number = 0xf00d;//十六进制
let binary: number = 0b1010;//二进制
let octal: number = 0o744;//八进制s


3.布尔类型


注意,使用构造函数 Boolean 创造的对象不是布尔值:

let createdBoolean: boolean = new Boolean(1)
//这样会报错 应为事实上 new Boolean() 返回的是一个 Boolean 对象 


事实上 new Boolean() 返回的是一个 Boolean 对象 需要改成

let createdBoolean: Boolean = new Boolean(1)let booleand: boolean = true //可以直接使用布尔值
let booleand2: boolean = Boolean(1) //也可以通过函数返回布尔值


4.空值类型


JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用 void 表示没有任何返回值的函数

function voidFn(): void {console.log('test void')
}


void 类型的用法,主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数

void也可以定义undefined 和 null类型

let u: void = undefined
let n: void = null;


5.Null和undefined类型

let u: undefined = undefined;//定义undefined
let n: null = null;//定义null


void 和 undefined 和 null 最大的区别
与 void 的区别是,undefined 和 null 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 string 类型的变量:

//这样写会报错 void类型不可以分给其他类型
let test: void = undefined
let num2: string = "1"num2 = test
//这样是没问题的
let test: null = null
let num2: string = "1"num2 = test//或者这样的
let test: undefined = undefined
let num2: string = "1"num2 = test


TIPS 注意:
如果你配置了tsconfig.json 开启了严格模式

{"compilerOptions":{"strict": true}
}


 null 不能 赋予 void 类型 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/190058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

持续集成部署-k8s-高级调度-InitC:初始化容器的概念和使用

持续集成部署-k8s-高级调度-InitC:初始化容器的概念和使用 1. Init Container(初始化容器)是什么?2. Init Container 的简单使用 1. Init Container(初始化容器)是什么? 在Kubernetes中&#x…

VLAN间路由详细讲解

本次实验拓扑的主要概述以及设计到的相关技术 VLAN技术: VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。 每个VLAN是一个广播域,VLAN内的主机间可以直…

YOLOv8改进 | 2023 | SCConv空间和通道重构卷积(精细化检测,又轻量又提点)

一、本文介绍 本文给大家带来的改进内容是SCConv,即空间和通道重构卷积,是一种发布于2023.9月份的一个新的改进机制。它的核心创新在于能够同时处理图像的空间(形状、结构)和通道(色彩、深度)信息&#xf…

C语言 柔性数组

文章目录 定义使用 定义 C语言中的柔性数组(Flexible Array)是一种特殊的数组类型,它的长度可以在运行时动态确定。柔性数组通常用于结构体的最后一个成员,用于表示可变长度的数据。 struct Example {int length;int data[]; //…

@ResponseBody详解:用于响应体响应数据

RestFul风格或者是web阶段接触过的异步请求,都需要把数据转换成Json放入响应体中。 ResponseBody的作用其实是将java对象转为json格式的相应内容 使用 RequestMapping注解时,Spring会将返回值解析为视图路径,然后跳转路径返回对应的视图页面…

PyQt6 中自定义浮点型滑块类

介绍: 在PyQt6中,滑块(Slider)是常用的用户界面元素之一,用于选择数值范围。然而,有时候我们可能需要使用浮点数值,而标准的滑块仅支持整数。为了解决这个问题,我们可以创建一个自定…

数字图像处理(实践篇) 十六 基于分水岭算法的图像分割

目录 一 分水岭算法 二 利用OpenCV实现分水岭算法的过程 三 实践 一 分水岭算法 基于任何灰度图像都可以视为地形表面,其中高强度表示山峰和山丘,而低强度表示山谷。首先,开始用不同颜色的水(标签)填充每个孤立的山…

医院智能导诊小程序源码 智能导诊源码

医院智能导诊系统、AI智能导诊、现有的ai模型做医院智能导诊、智能就医引导系统、人工智能挂号、医院AI全流程智能导诊系统。 智能导诊 可以根据用户症状描述精准推荐科室及医生智能学习医院历史数据及自动进行科室对照,与医院的系统连接后,患者可直接完成预约。 一、系统概述…

sklearn教程:iris鸢尾花数据集数据分析

文章目录 数据集介绍导入数据集查看数据标签、属性和介绍查看数据整理为dataframe数据indo()查看数据类型和是否缺失describe() 提供数值型变量的描述性统计变量赋值标签编码分割训练集测试集查看X y 维度可视化分析箱线图查看数据分布和异常值直方图查看数值型数据分布密度图查…

【Java面试——并发基础、并发关键字】

3.1 并发基础 Java 并发 - 理论基础Java 并发 - 线程基础 多线程的出现是要解决什么问题的? 本质什么? CPU、内存、I/O 设备的速度是有极大差异的,为了合理利用 CPU 的高性能,平衡这三者的速度差异,计算机体系结构、操作系统、编译程序都做出了贡献,主要体现为: CPU 增加…

flutter-一个可以输入的数字增减器

效果 参考文章 代码 在参考文章上边,主要是改了一下样式,逻辑也比较清楚,对左右两边添加增减方法。 我在此基础上加了_numcontroller 输入框的监听。 加了数字输入框的控制 keyboardType: TextInputType.number, //设置键盘为数字 inputF…

python Thread

第一种 import threading import timedef a(url):print(f"--------start1:{url}---------")time.sleep(2)print(f"--------end1:{url}-----------")def b(url):print(f"--------start2:{url}---------")time.sleep(4)print(f"--------end2…

JavaScript 数据结构

JavaScript 数据结构 目录 JavaScript 数据结构 一、标识符 二、关键字 三、常量 四、变量 每一种计算机编程语言都有自己的数据结构,JavaScript脚本语言的数据结构包括:标识符、常量、变量、保留字等。 一、标识符 标识符,说白了&…

Flutter学习(七)GetX offAllNamed使用的问题

背景 使用GetX开发应用的时候,也可能有人调用过offAllNamed,会发现所有controller的都被销毁了 环境 win10 getx 4.6.5 as 4 现象 从A页面,跳转到B页面,然后调用offAllNamed进行回到A页面,观察controller声明周期…

如何从 Android 手机恢复已删除的视频

您是否曾经丢失过手机中的任何数据?如今,由于 Android 上的应用程序崩溃、根进程停止、Android 更新失败等等,数据丢失很普遍。错误删除是丢失视频、录音和音乐副本的另一种可能的方式。 丢失包含有关新完成的项目的重要信息的视频或婚礼、周…

Django回顾4

一.过滤器 1.过滤器格式 {{变量|过滤器名字}} 2.怎么使用 1.注册app 2.在app下创建templatetags模块(模块名只能是templatetags) 3.在包下写一个py文件,随便命名 4.在py文件中写入:from django import template …

零基础OpenAi应用商店开发

在本月OpenAi开发者大会上,OpenAI宣布推出了GPTs功能,也就是GPT Store,类似App Store的应用商店,任何用户都可以去参与创建应用。通过该功能,用户可以定制化打造自己的GPT,并公开分享至OpenAI的应用商店。定…

12.1 二叉树简单题

101. 对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 思路:对称二叉树 有一个特点是以 中左右顺序遍历左子树的结果会等于 中右左顺序遍历右子树的结果…

服务器中深度学习环境的配置

安装流程 11.17 日,周末去高校参加学术会议,起因, 由于使用了某高校内的公共有线网络, 远程连接服务器后,黑客利用 ssh 开放的 22 端口, 篡改了主机的配置, 使得只要一连上网络, 服…

3dmax建模培训,3dmax建模零基础难学吗?

3DMAX建模对于零基础的学习者来说,确实有一定的难度,但只要学习方法得当,付出足够的努力,是可以学会的。 为帮助零基础的学习者更好地学习3DMAX建模,以下是一些建议: 1、从基础开始:先学习3DM…