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的类型为数值类型,结果赋值为字符串,此时运行编译指令,则会报错;

下一篇为大家带来值类型的反推,欢迎大家给出意见和建议,不喜勿喷,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值