美文网首页
JavaScript七种数据类型简述

JavaScript七种数据类型简述

作者: LaobingFung | 来源:发表于2018-11-20 16:48 被阅读0次

ES6中定义了7种数据类型:String, Number, Boolean, Symbol, Null, Undefined, Object,其中Symbol是ES6才新引入的数据类型。


JavaScript拥有动态类型

JavaScript的变量可以用来存储不同类型的数据

var a = 1;
a = 'mike';

也是合法的。


Undefined

变量被声明时如果没有被赋值,那么变量的类型就是Undefined。


Null

Null类型只有一个值null,是空值的意思,可以通过给变量赋值设置为null,表示清空该变量。

typeof(null) 返回 object

在JavaScript中,typeof(null)的返回值是object,这并不是说值为null的变量的类型是object,这是一个历史遗留问题,1995年第一版的JavaScript所有值都用32位二进制数来存储,其中包括存储数据类型的标签和存储数据的值,而object类型的标签和null类型的标签都是000,因此typeof(null)的返回值是object,从逻辑上来讲,null也可以是空对象。

但是,null的数据类型仍然是Null,typeof(null)返回object是一个历史遗留bug,而且应该不会被修复,因为这会影响到已有的代码。


Boolean

Boolean类型只有两个值,true和false,布尔型变量一般用于条件判断。

其他类型的变量也可以通过Boolean()函数来转换成布尔型变量,其值对应表如下:

type 转换为true 转换为false
Undefined 不适用 undefined
Null 不适用 null
Number 非0,NaN的数字 0,NaN
String 任何非空字符串 ''空字符串
Symbol 任何对象 不适用
Object 任何对象 null

Number

Number类型的值可以是-(2的63次方-1) ~ (2的63次方-1)的数字,+Infinity, -Infinity, NaN。
Number类型的变量不区分整数和浮点数,很大或很小的数会通过科学记数法来表达。

这里要注意的是,NaN与任何Number类型的值都不相等,包括NaN本身。


String

String类型用来存储文本,可以用单引号或双引号表示字符串

var name = 'Jack';
var name = "Jack";

JavaScript中有多种操作String的方法,具体见JavaScript String 对象


Symbol

ES6引入Symbol的目的就在于引入一种机制,保证对象的每个属性名字都是独一无二的,防止属性名冲突。

symbol值通过Symbol()函数生成,可以用作对象的属性名,如

var name = Symbol();
var age = Symbol();
var student = {};
student[name] = 'Jack';
student[age] = 12;

由于Symbol类型的变量是独一无二的,即使给Symbol()函数传入相同的参数,生成的Symbol变量也是不同的,因此

var a = Symbol();
var b = Symbol();
var c = Symbol("name");
var d = Symbol("name");
a === b; //false
c === d; //false

Symbol类型的属性不能用for...in, for...of去遍历,需要用Object.getOwnPropertySymbols方法去遍历

var a = Symbol();
var b = Symbol();
var c = Symbol();
var car = {
    [a] : 'Benz',
    [b] : 'Tesla',
    [c] : 'Volvo'
}
for(let prop of Object.getOwnPropertySymbol(car)){
    document.write(car[prop]);
}

Object

对象由{}声明,{}内的时形式为key: value的键值对,其中的key只能是Srting或者Symbol类型的变量,多个键值对之间用逗号隔开,如

student = {
    name : 'Jack',
    age : 12,
    id : 2001    
};

相关文章

  • JS 里的数据类型

    JavaScript数据类型 JavaScript 语言含七种数据类型,分别是是:undefined、null、布...

  • 有关 JavaScript 里的数据类型小记

    JavaScript数据类型 JavaScript 语言含七种数据类型,分别是是:undefined、null、布...

  • JavaScript数据类型及运算符

    数据类型 JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有七种。...

  • js数据类型

    数据类型分类 JavaScript语言的每一个值,都属于某一种数据类型。JavaScript的数据类型,共有七种。...

  • JavaScript 数据类型

    一、数据类型 JavaScript 语言的每一个值,都属于某一种数据类型。 JavaScript 共有七种数据类型...

  • JS 里的数据类型

    总体分类 Javascript主要有七种数据类型 Javascript的数据类型主要可以分为简单类型(基本类型)和...

  • js里数据类型

    JavaScript 的数据类型,共有七种。number string object boolean undefi...

  • js 数据类型

    JavaScript七种数据类型:原型数据类型有以下6种:Boolean Null Undefined Numbe...

  • JS中的数据类型

    JavaScript 中的每个值都属于某一种数据类型。JavaScript 的数据类型,共有七种,包括数字、字符串...

  • JS 里的数据类型(上)

    JavaScript 的数据类型,共有七种(ES6 新增的第七种 Symbol 类型的值,本文暂不介绍)。七种内置...

网友评论

      本文标题:JavaScript七种数据类型简述

      本文链接:https://www.haomeiwen.com/subject/xhuxqqtx.html