JS的六种数据类型

JS有六种数据类型,可以大致分为以下两类:

  • 基本数据类型: Number、String、Boolean、Undefined、Null;
  • 复杂(引用)数据类型: Object(Array、Date、RegExp…);

Null 和 Undefined

Null

Null 表示“无”的对象,转换为数值时为0
典型用法:

  • 作为函数的参数,表示该函数的参数不是对象;
  • 作为对象原型链的终点。

Undefined

Undefined 表示一个“无”的原始值,转换为数值时为NaN
典型用法:

  • 变量被声明,但未赋值;
  • 调用函数时,应该提供的参数没有提供,该参数=undefined;
  • 对象没有赋值的属性,该属性的值=undefined;
  • 函数没有返回值,默认返回undefined。

Boolean

只有两个值:true 和 false;

转换函数 Boolean()

JS 所有类型的值都有与这两个Boolean值等价的值,具体的转换关系见下表:

数据类型 转换为true的值 转换为flase的值
Boolean true flase
String 任何非空的字符串 “”(空字符串)
Number 任何非0数值(包括无穷大) 0 和 NaN
Object 任何对象 null
Undefined 不使用 undefined

Number

JS 中 Number 可以表示: 整数和浮点数值,以及二进制,八进制(0开头),十六进制(0x开头)的数。

数值范围

最大/最小值:Number.MAX_VALUE,Number.MIN_VALUE;
无穷大/无穷小:infinity, -infinity;
isFinity()函数:确定一个数是不是有穷的。

NaN(Not a Number,一个特殊的数值)

用于表示本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了),在ECMAScript中,任何数除以0会返回NaN(实际上只有0除以0才会返回NaN,正数除以0返回Infinity,负数除以0返回-Infinity);

任何涉及NaN的操作都会返回NaN;

NaN与任何值都不相等,包括NaN本身;

isNaN()函数:判断接收到的参数能否转换为数值,如果不能返回true,如果能则返回false,该参数可以是任何类型。
数值转换:Number()、parseInt()、parseFloat()

String

可以由双引号(” “)或单引号(’ ‘)表示;

length属性

每个字符串都有一个length属性,返回字符串的长度;

特点

字符串是不可变的(字符串值的内容是不可改变的):要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量;

转换为字符串两种方法

toString()

  • 除了 null 和 undefined (数值,对象、布尔值和字符串)都有这个方法;
  • 在调用数值的toString()方法时,可以传递一个参数,作为输出数值的基数;(比如:二进制、八进制、十六进制等);

String(): 在不知道要转换的值是否为 null 和 undefined 时,可以使用

  • null,返回“null”,undefined,返回“undefined”,其他返回值与 toString() 方法一样;
  • 如果要转换的值有 toString() 方法,则调用该方法(没有参数)并返回相应的结果;

Object

JS 中对象是一组数据和功能的集合;

对象也可看做属性的容器,每个属性都是一个名/值对;属性的名字可以是包括空字符串在内的任意字符串。属性值可以是除undefined值之外的任何值。

对象最常见的用法是创建(create)、设置(set)、查找(query)、删除(delete)、检测(test)和枚举(enumerate)它的属性。

您的支持将鼓励我继续创作!