前端进阶系列(第1期):理解JavaScript数据类型

栏目: JavaScript · 发布时间: 5年前

内容简介:前端进阶系列本着“好好干前端”的心态,一步一个脚印认真练好前端的基本功,为在前端的发展道路上做好铺垫。本周正式开始前端进阶的第1期,本周的主题是最新的 ECMAScript 标准定义了7种数据类型,主要分为两大类

前端进阶系列本着“好好干前端”的心态,一步一个脚印认真练好前端的基本功,为在前端的发展道路上做好铺垫。

本周正式开始前端进阶的第1期,本周的主题是 理解JavaScript数据类型

数据类型

最新的 ECMAScript 标准定义了7种数据类型,主要分为两大类 基本类型引用类型

基本类型

基本类型 有时也被称为 值类型原始类型 。其中包括6种数据类型,分别是: 字符串类型(String)数字类型(Number)布尔类型(Boolean)对空类型(Null)未定义类型(Undefined)符号类型(Symbol)

字符串类型

JavaScript的字符串类型用于表示文本数据。它是一组16位的无符号整数值的“元素”。在字符串中的每个元素占据了字符串的位置。第一个元素的索引为0,下一个是索引1,依此类推。字符串的长度是它的元素的数量。

数字类型

根据 ECMAScript 标准,JavaScript 中只有一种数字类型:基于 IEEE 754 标准的双精度 64 位二进制格式的值(-(263 -1) 到 263 -1)。它并没有为整数给出一种特定的类型。除了能够表示浮点数外,还有一些带符号的值:+Infinity,-Infinity 和 NaN (非数值,Not-a-Number)。

123; // 正整数
-123; // 负整数
520.1314; // 浮点数
0; // 零
Infinity; // 正无穷
-Infinity; // 负无穷
typeof Infinity; // number
复制代码

布尔类型

布尔表示一个逻辑实体,可以有两个值:true 和 false。

2 > 1; // true
[] == []; // false 
[] == ![]; // true 这是为什么?
null == undefined // true
'10' > '3'; // flase 这个啥?
typeof true; // boolean
复制代码

Null 类型

Null 类型只有一个值: null。

null === null; // true
typeof null; // object 为什么不是 null呢?
复制代码

Undefined 类型

一个没有被赋值的变量会有个默认值 undefined。

let a; // 我申明我是一个变量 a
typeof a; // undefined 申明未赋值
undefined == undefined; // true
undefined == 0; // false
undefined == null; // true
undefined == ''; // false
复制代码

符号类型

符号(Symbols)是ECMAScript 第6版新定义的。符号类型是唯一的并且是不可修改的, 并且也可以用来作为Object的key的值。

let obj = {};
let symbol1 = Symbol();
let symbol2 = Symbol();

typeof symbol1; // symbol
typeof symbol2; // symbol

symbol1 == symbol2; // false

obj.symbol1 = 'hello';
obj[symbol1] = 'world';

console.log(obj.symbol1 + ' ' + obj[symbol1]); // hello world

复制代码

引用类型

引用类型 主是指 Object类型

Object 对象

在计算机科学中, 对象是指内存中的可以被 标识符 引用的一块区域。

let obj1 = {}; // 对象字面量
let obj2 = new Object(); // 实例化一个对象

typeof obj1; // object
typeof obj2; // object

const person = { author: {name: "布一", "wechat": "Hankewins"}, 1: "No.1" };

console.log(person.author.name); // 布一
console.log(person.author.wechat); // Hankewins
console.log(person[1]); // No.1
复制代码

类型对比

我们都知道JavaScript中有两大数据类型: 基本类型引用类型 ,其中 基本类型 主要是把值存储在 栈内存 中,而 引用类型 却是把地址存储在 栈内存 中,把值存储在 堆内存 中,然后将 栈内存 中存储的地址指向 堆内存 中存储的值。

基本类型 数据结构 存储位置
基本类型 数字、字符串、布尔、Null、Undefined、Symbol
引用类型 数组、对象、函数 栈、堆

什么是堆栈?

堆栈是两种数据结构,是一种数据项按序排列的数据结构,只能在一端进行插入和删除操作。堆为队列优先,先进先出(FIFO)。栈为先进后出(FILO)。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创业的艺术2.0

创业的艺术2.0

〔美〕盖伊·川崎 / 刘悦、段歆玥 / 译言·东西文库/电子工业出版社 / 2016-9 / 68

“创业者导师”——盖伊•川崎的《创业的艺术2.0》被阿丽亚娜•赫芬顿评为“终极的创业手册”。无论您是企业家、小企业主、企业开拓者还是非盈利组织的领导人,都可以让你的产品、服务或理念获得成功。 盖伊选取了不用角度,探索前十年商界的巨大变化,并寻求解决之道。曾经所向披靡的市场巨头深陷水深火热之中,社交媒体也取代了人际关系和广告,成为营销推广的主要渠道。众筹也成为广大投资者的可行之举。“云”更是每......一起来看看 《创业的艺术2.0》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具