TypeScript学习(一):原始数据类型的定义
这篇博客主要是讲述TS中原始数据类型的定义,有不足之处,还望大家指点(这里就不赘述TS的安装及编译方式了,详情可前往官网查看):
Typescript中原始数据类型:布尔类型(boolean)、数值类型(number)、字符串类型(string)、undefined、null等;
一、布尔类型(Boolean)
在JS中创建布尔值有两种语法格式:构造函数(new Boolean(value))和转换函数(Boolean(value));当以构造函数调用时,Boolean()会将传递进去的参数转换为一个布尔值,返回的是一个包含这个布尔值的Boolean对象;当以转换函数调用时,Boolean()会将传递进去的参数转换为一个原始的布尔值,返回的就是这个值,而不是包含该值的对象;
- 返回false的情况:省略参数value、value的值为0、null、false、NaN;
- 返回true的情况:value有值;
接下来我们来看在typescript中如何定义布尔值:
let a: boolean = false; //这里用冒号来定义值类型,:左边是变量,:右边是指类型,=后面是赋值
上面我们JS中定义方式提到的以构造函数方式创建的Boolean对象,不是一个布尔值,而是一个包含布尔值的Boolean对象,所以在typescript中还可以用以下两种方式定义布尔值类型:
let a : Boolean = new Boolean(1); // 这个返回的是包含布尔值的Boolean对象
或者是
let a : boolean = Boolean(1); // 这个返回的是一个布尔值
二、数值类型(number)
在JS中我们定义数值类型一般有以下几种方式:
// 二进制
var a = 10010B;
// 八进制:例如
var a = 0o774;
// 十进制
var a = 24;
// 十六进制
var a = 130D;
// 科学计数
var a = 123e5;
在typescript中定义数值类型以及数据格式类型,跟JS相似,但是定义方式不用,在typescript中定义方式如下:
let a: number = 6; // 即定义变量a为数值类型
三、字符串类型(string)
字符串类型在数据类型中是最常见的类型之一,在JS中的定义方式也很简单,如下:
var a = '1';
// 或者是
var a = "1";
// 即定义字符串类型只需要加上单引号或者双引号
在typescript中定义中也很简单,跟数值类型相似,在赋值的时候,我们直接在冒号右边定义数据类型,如下:
let a : string = '1';
在typescript中还可以使用ES6中的模板字符串,搭配${}嵌套模板,如下:
let name: string = 'kreme'; // 定义变量
let age: number = 25; // 定义变量
let sentence: string = `my name is ${name},I'm ${age} years old`; // 定义模板字符串
四、undefined 和 null
在JS中undefined类型只有一个值,即undefined,表现方式是当声明的变量还未被初始化时,变量的默认值为undefined,如下:
var a; // 不做任何赋值,此时获取a的值类型为undefined
在typescript中,定义这两种类型,也同前面定义方式一样,如下:
let a : undefined = undefined;
let a : null = null;
在这里需要补充的是,undefined和null两种类型,是上述三种类型的子类型,如下:
let a : undefined; // 首先定义变量a的值类型为undefined
let b : number = a; // 定义变量b的值类型为数值类型,但是赋值为a,此时编译不会报错,null相同
(在这里我们提一种特别的类型,就是空值类型,该类型在JS是没有的,在typescript中主要是表示没有任何返回值的函数,类型用void表示,在实际开发中几乎用不到,所以这里就不加叙述了)
typescript中的原始数据类型就介绍到这里,需要注意的是,定义好值类型后,如果赋值不属于该值类型或者该值类型的子类型,在编译过程中是会报错的,例如:
let a : number = 'string';
// 这里定义a的类型为数值类型,结果赋值为字符串,此时运行编译指令,则会报错;
下一篇为大家带来值类型的反推,欢迎大家给出意见和建议,不喜勿喷,谢谢!
TypeScript学习(一):原始数据类型的定义相关推荐
- typescript学习之路(三) —— ts定义类的方法(包含es5以及es6的定义类)
提起类,不得不说一下,强类型编程语言,如php,java,c++等都有类的概念.而js作为一门弱类型语言,是没有类这个概念的,虽然也能模拟类的实现,但总归不是类.so,ts也只是模拟类而已,使得更贴切 ...
- typeScript基础(1)_原始数据类型学习
typeScript系列将是学习ts的一些笔记,主要是为了以后及时的的回顾. 这个系列将会根据TypeScript 入门教程(202005)配合学习. 在这之前,我们需要先安装 npm install ...
- TypeScript学习笔记2:数据类型
TS 和 JS 相对比的优势 TypeScript的安装步骤.运行问题及代码的简单运行 TypeScript学习笔记1:变量赋值及书写方式 TypeScript学习笔记2:数据类型 文章目录 数据类型 ...
- TypeScript学习(四):对象的定义及使用
前面我们说到了数据类型,像什么布尔类型,数值类型,字符串类型等等,在开发中,我们还会遇到很多像对象.数组.函数等类型,那么在typescript中是怎么定义这些类型的? 对象(object) 我们先介 ...
- JavaScript TypeScript学习总结
目录 一. JavaScript 1.JavaScript简介 2.基本语法 2.1 大小写敏感 2.2 标识符 2.3 注释 2.4 语句 2.4 关键字.保留字 2.5 变量 2.6. 操作符 2 ...
- JavaScript TypeScript学习总结
本文章为web课学习JavaScript & TypeScript的学习总结 JavaScript & TypeScript学习总结 JavaScript JS介绍 JS基础 标识符 ...
- TypeScript学习文档-基础篇(完结)
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- TypeScript学习笔记1:变量赋值及书写方式
TS 和 JS 相对比的优势 TypeScript的安装步骤.运行问题及代码的简单运行 TypeScript学习笔记1:变量赋值及书写方式 TypeScript学习笔记2:数据类型 文章目录 变量赋值 ...
- Typescript 学习笔记七:泛型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
最新文章
- 卷积神经网络失陷,CoordConv来填坑(附代码&视频)
- 品牌管理-JSR303数据校验
- 去重 属性_面试中常问的List去重问题,你都答对了吗?
- Zabbix配置模板监控指定服务器主机
- [atlassian]Bamboo server 和 remote agent 只支持JAVA 1.8
- 中概股暴跌后的大厂员工:230万缩水至23万、和家人一起“开源节流”
- flex 只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源
- (转)Android权限列表permission说明 (一)
- 原子性判断,防并发思路
- oracle连接ORA-01017、ORA-12640
- KALI 2020 软件集成清单——逆向工程(七)
- 手把手教你用SPSS做出二元logistic回归分析
- 计算机设置桌面文件夹,win10电脑怎么更改桌面文件夹路径
- 计算机中sqrt函数是什么意思,sqrt是什么函数
- druid Hadoop-based Batch Ingestion
- 荣耀手机出售还可以用鸿蒙,华为荣耀整体出售对鸿蒙有何影响
- Vue实现图形化积木式编程(十三)
- PaddleOCR报错Process finished with exit code
- Graphviz画决策树中文乱码解决
- Netgear路由器救砖教程