ECMAScript的7种数据类型:
6 种原始类型(也叫基本类型,即非对象并且无方法的数据):
Boolean
Null
Undefined
Number
String
Symbol (ECMAScript 6 新定义)
和
Object
除 Object 以外的所有类型都是不可变的(值本身无法被改变)。例如,JavaScript 中字符串是不可变的(如js数据类型js数据类型,JavaScript 中对字符串的操作一定返回了一个新字符串,原始字符串并没有被改变)。我们称这些类型的值为“原始值”。
布尔类型
布尔表示一个逻辑实体,可以有两个值:true 和 false。 // Booleans typeof true === 'boolean'; typeof false === 'boolean'; typeof Boolean(1) === 'boolean'; typeof !!(1) === 'boolean';
Null 类型 Null 类型只有一个值: null
Undefined 类型
一个没有被赋值的变量会有个默认值 undefined // Undefined typeof undefined === 'undefined'; typeof declaredButUndefinedVariable === 'undefined'; typeof undeclaredVariable === 'undefined';
数字类型
根据 ECMAScript 标准,JavaScript 中只有一种数字类型:基于 IEEE 754 标准的双精度 64 位二进制格式的值(-(263 -1) 到 263 -1)。它并没有为整数给出一种特定的类型。除了能够表示浮点数外,还有一些带符号的值:+Infinity,-Infinity 和 NaN (非数值,Not-a-Number)。 要检查值是否大于或小于 +/-Infinity,你可以使用常量 Number.MAX_VALUE 和 Number.MIN_VALUE。另外在 ECMAScript 6 中,你也可以通过 Number.isSafeInteger() 方法还有 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 来检查值是否在双精度浮点数的取值范围内。 超出这个范围,JavaScript 中的数字不再安全了 // Numbers typeof 37 === 'number'; typeof 3.14 === 'number'; typeof(42) === 'number'; typeof Math.LN2 === 'number'; typeof Infinity === 'number'; typeof NaN === 'number'; typeof Number('1') === 'number';
字符串类型
JavaScript的字符串类型用于表示文本数据。字符串的长度是它的元素的数量。 // Strings typeof '' === 'string'; typeof 'bla' === 'string'; typeof `template literal` === 'string'; typeof '1' === 'string'; typeof (typeof 1) === 'string'; typeof String(1) === 'string';
符号类型
符号(Symbols)是ECMAScript 第6版新定义的。符号类型是唯一的并且是不可修改的, 并且也可以用来作为Object的key的值 // Symbols typeof Symbol() === 'symbol' ; typeof Symbol('foo') === 'symbol'; typeof Symbol.iterator === 'symbol';
对象
在计算机科学中, 对象是指内存中的可以被 标识符引用的一块区域.在 Javascript 里,对象可以被看作是一组属性的集合。用对象字面量语法来定义一个对象时,会自动初始化一组属性。(也就是说,你定义一个var a = "Hello",那么a本身就会有a.substring这个方法,以及a.length这个属性,以及其它;如果你定义了一个对象,var a = {},那么a就会自动有a.hasOwnProperty及a.constructor等属性和方法。) 函数是一个附带可被调用功能的常规对象 数组是一种使用整数作为键属性和长度属性之间关联的常规对象。 // Objects typeof {a: 1} === 'object'; typeof [1, 2, 4] === 'object'; typeof new Date() === 'object'; typeof /regex/ === 'object'; typeof new Boolean(true) === 'object'; typeof new Number(1) === 'object'; typeof new String('abc') === 'object';
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。