React 前端导航

js数据类型-原始数据类型

  • JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)

布尔值

const bool: boolean = true;

注意,使用构造函数创建的对象不是布尔值,事实上,new Boolean()返回的是一个Boolean对象

var isObjDone: boolean = new Boolean(1);

// Type 'Boolean' is not assignable to type 'boolean'.
// 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.

直接调用Boolean也可以返回一个布尔类型

var isObjDone: boolean = Boolean(1);//true

结论:在ts中,boolean是Javascript中的基本类型,而Boolean是Javascript中的构造函数.其它类型一致。

数值

使用number类型定义

let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
// ES6 中的二进制表示法
let binaryLiteral: number = 0b1010;
// ES6 中的八进制表示法
let octalLiteral: number = 0o744;
let notANumber: number = NaN;
let infinityNumber: number = Infinity;

编译结果,其中0b1010和0o744分别是二进制和八进制,会被编译成十进制。

var decLiteral = 6;
var hexLiteral = 0xf00d;
// ES6 中的二进制表示法
var binaryLiteral = 10;
// ES6 中的八进制表示法
var octalLiteral = 484;
var notANumber = NaN;
var infinityNumber = Infinity;

字符串

和javascript中字符串基本一致,只是在定义上有所区别。

const str: string = '字符串';

空值

JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用 void 表示没有任何返回值的函数:
function fn(): void{
    console.log('我是一个没有返回值的函数');
}
声明一个void类型的变量,只能将它赋值为undefined和null
const vo: void = undefined;
const nu: void = null;

Null和undefined

在 TypeScript 中,可以使用 null 和 undefined 来定义这两个原始数据类型:
const u: undefined = undefined;
const n: null = null;
与void的区别是null和undefined是所有类型的子类型
const num: number = undefined;    //这样写不会报错——测试还有有报错提示
也可以这样去写
const n: undefined
const m: number = n;

n //undefined
m //undefined
n === m //true

测试用例

let debug:boolean = true;
let flag:boolean = true;
let number:number = 1;
let str:string = '1';
let vd:void = undefined;//void空值只可以赋值给undefined和null
let u:undefined = undefined;
let n:null = null;

debug && console.log({
flag: flag,
number: number,
str: str,
void: vd,
u: u,
n: u
});


{
flag: true,
number: 1,
str: '1',
void: undefined,
u: undefined,
n: undefined
}

参考

https://www.bookstack.cn/read/TypeScript/24.md

https://ts.xcatliu.com/basics/primitive-data-types.html

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:farmerlzj@163.com。 本站原创内容未经允许不得转载,或转载时需注明出处: 内容转载自: React前端网:https://qianduan.shop/blogs/detail/148
想做或者在做副业的朋友欢迎加微信交流:farmerlzj,公众号:生财空间站。

#js#数据类型

相关推荐

原型与原型链、继承

原型与原型链、继承简单实现

浏览器中的js事件循环(Event loop)

本文将简述浏览器中的js事件循环机制,帮助我们理解浏览器环境js代码是如何运行的。Javascript的一大特点是单线程,也就意味着同一时间他只能做一件事。事件循环(Event Loop)是为了协调事件,用户交互,UI渲染,网络处理等行为,防止线程阻塞而诞生的。