JS中的数据类型
七种:number、string、 boolean、 undefined、 null、 object、 symbol
没有 array 噢
number
- 整数和小数:
1、1.1、.1 - 科学记数法:
1.23e2 - 二进制:
0b11 - 八进制:
011(后来 ES5 添加了 0o11 语法) - 十六进制:
0x11
string
- 空字符串:
'' 多行字符串:
1
2var s = `12345
67890` // 含回车符号Base64
- Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法;Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。
- 编码方法:
window.btoa("test");//"dGVzdA==" - 解码方法:
window.atob("dGVzdA==");//"test"
boolean
true or false
undefined 和 null
都可以表示“没有”,含义非常相似
- (规范)如果一个变量没有被赋值,那么这个变量的值就是
undefiend - (习俗)如果你想表示一个还没赋值的对象,就用
null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用undefined(但是实际上你直接var xxx一下就行了,不用写var xxx = undefined) null是一个表示“空”的对象,转为数值时为0;undefined是一个表示”此处无定义”的原始值,转为数值时为NaNundefined == null //true
object
object就是几种基本类型(无序地)组合在一起,可以无限嵌套object的 key 一律是字符串,不存在其他类型的 key(ES6中也可以是 Symbol类型的)object['']是合法的object['key']可以写作object.keyobject.key与object[key]不同delete object['key']'key' in object用于判断是否存在这个 key
symbol
ES6中新增的一个类型,它是 JavaScript 语言的第七种数据类型,表示独一无二的值。
Symbol 值通过Symbol函数生成。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。
typeof 操作符
| 类型 | string | number | boolean | symbol | undefined | null | object | function |
|---|---|---|---|---|---|---|---|---|
| typeof的值 | ‘string’ | ‘number’ | ‘boolean’ | ‘symbol’ | ‘undefined’ | ‘object’ | ‘object’ | ‘function’ |
1、注意 function 并不是一个类型;
2、null的类型是object,这是由于历史原因造成的。1995年的 JavaScript 语言第一版,只设计了五种数据类型(对象、整数、浮点数、字符串和布尔值),没考虑null,只把它当作object的一种特殊值。后来null独立出来,作为一种单独的数据类型,为了兼容以前的代码,typeof null返回object就没法改变了。
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章