这说明我们可以不用提前声明变量的类型去使用,类型会被自动确定且可以用同一个变量保存不同的类型数据
var a=123;//数字类型
a="小明";//字符串类型
a=true;//布尔类型
最新的ECMA标准定义了8种数据类型:
7种原始类型(数据类型)(undefined Boolean Number String BigInt(任意精度表示整数)Symbol(符号类型) null
(非数据结构即引用类型)Object
除 Object 以外的所有类型都是不可变的(值本身无法被改变)。例如,与 C 语言不同,JavaScript 中字符串是不可变的(译注:如,JavaScript 中对字符串的操作一定返回了一个新字符串,原始字符串并没有被改变)。我们称这些类型的值为“原始值”。
布尔表示一个逻辑实体,有两个值分别为true和false
Null 类型只有一个值: null, null
是表示缺少的标识,指示变量未指向任何对象
一个没有被赋值的变量会有个默认值: undefined undefined
是全局对象的一个属性。也就是说,它是全局作用域的一个变量
根据 ECMAScript 标准,JavaScript 中只有一种数字类型:基于 IEEE 754 标准的双精度 64 位二进制格式的值(-(253 -1) 到 253 -1)。它并没有为整数给出一种特定的类型。除了能够表示浮点数外,还有一些带符号的值:+Infinity
,-Infinity
和 NaN
(非数值,Not-a-Number)。要检查值是否大于或小于 +/-Infinity
,你可以使用常量 Number.MAX_VALUE 和 Number.MIN_VALUE
BigInt类型是 JavaScript 中的一个基础的数值类型,可以用任意精度表示整数。通过使用常量Number.MAX_SAFE_INTEGER,您可以获得可以用数字递增的最安全的值。通过引入 BigInt,您可以操作超过Number.MAX_SAFE_INTEGER的数字可以对BigInt
使用运算符+、
*、
-、
**
和%
,就像对数字一样。
在将BigInt
转换为Boolean
时,它的行为类似于一个数字:if、
||、
&&、
Boolean 和
!。
BigInt
不能与数字互换操作。否则,将抛出TypeError。
JavaScript 的字符串类型用于表示文本数据。它是一组16位的无符号整数值的“元素”。在字符串中的每个元素占据了字符串的位置。第一个元素的索引为 0,下一个是索引 1,依此类推。字符串的长度是它的元素的数量。
不同于类 C 语言,JavaScript 字符串是不可更改的。这意味着字符串一旦被创建,就不能被修改。但是,可以基于对原始字符串的操作来创建新的字符串。例如:
+
) 或者 String.concat().符号(Symbols)是 ECMAScript 第6版新定义的。符号类型是唯一的并且是不可修改的, 并且也可以用来作为 Object 的 key 的值
ECMAScript 定义的对象中有两种属性:数据属性和访问器属性。
数据属性是键值对,访问器属性有一个或两个访问器函数 (get 和 set) 来存取数值
一个 JavaScript 对象就是键和值之间的映射。键是一个字符串(或者 Symbol),值可以是任意类型的值
函数是一个附带可被调用功能的常规对象。
当你想要显示日期时,毋庸置疑,使用内建的 Date 对象。
数组是一种使用整数作为键(integer-key-ed)属性和长度(length)属性之间关联的常规对象。
数组对象还继承了 Array.prototype 的一些操作数组的便捷方法。例如, indexOf
(搜索数组中的一个值) or push
(向数组中添加一个元素),等等。 这使得数组是表示列表或集合的最优选择
类型数组(Typed Arrays)是 ECMAScript Edition 6 中新定义的 JavaScript 内建对象,提供了一个基本的二进制数据缓冲区的类数组视图
这些数据结构把对象的引用当作键,其在 ECMAScript 第6版中有介绍。当 Map 和 WeakMap 把一个值和对象关联起来的时候, Set 和 WeakSet 表示一组对象。 Map 和 WeakMaps 之间的差别在于,在前者中,对象键是可枚举的
在纯 ECMAScript 5 下可以实现 Maps 和 Sets 。然而,因为对象并不能进行比较(就对象“小于”示例来讲),所以查询必定是线性的。他们本地实现(包括WeakMaps)查询所花费的时间可能是对数增长。
通常,可以通过直接在对象上设置属性或着使用 data-*属性,来绑定数据到 DOM 节点。然而缺陷是在任何的脚本里,数据都运行在同样的上下文中。Maps 和 WeakMaps 方便将数据私密的绑定到一个对象。
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,来源于 JavaScript 同时也被多种语言所使用。 JSON 用于构建通用的数据结构
以上就是我总结的关于数据类型和数据结构的理解希望能帮到你们,谢谢