JS里的数据类型

91 阅读2分钟
  • 数值(number): 整数和小数(1和1.13)
  • 字符串(string):文本('hello')
  • 布尔值(boolean):表示真假的两个值( true和false)
  • undefined:表示"未定义/不存在",目前没定义,没有任何值
  • null:空值,表示此处的值为空
  • 对象(Object):由多个值合成的集合
  • Symbel(ES6新增的第七种,这次不涉及。)

(数值、字符串、布尔)合称:原始类型的值。因为它们是最原始的数据类型,无法再细分。 对象称为合成类型的值。(由多个原始值合成,可以看做容器。) undefinednull,一般看做两个特殊的值。 对象(Object)又有几个子类:函数(function)和数组(array)

number

JavaScript并不区分整数和浮点数,统一用number来表示。

110;//整数110
0.456; //浮点数0.456
1.1234e3; //科学计数法:1.1234x1000 = 1123.4
NaN; // Not a number  结果无法计算用NaN来表示
Infinity; // 表示无限大,超过JS的number所表示的最大值,用Infinity

string

字符串是用单引号(')或双引号("")括起来的文本。注意:单引号或双引号只是一种表示方式,不是字符串的一部分。

'hello' //单引号
"hello" //双引号
"What's your name "  // 双引号里包含单引号

boolean

布尔值只有两种: truefalse

true; //truefalse; //false值
2 > 1; //true值
2 > 3; //falsetrue && true; //&&是与运算,所有都为true时,结果才是true
true && false; //&&有一个为false时,结果就为false

true || true; // ||是或运算,有一个为true,结果就是true
true || false; // ||运算为true
false || false; // ||运算为false

undefined 和 null

null表示一个"空"的值,而undefined表示未定义。区分两者意义不大,大多数情况下用nullundefined仅在判断函数参数是否传递的情况下有用。

对象

对象是一组"键值"(key-value)组成的无序集合。例如:

var people = {
    name: 'Jack',
    age: 18,
    city: 'ShenZhen',
    car: true,
    zipcode: null
};

可以看出:对象的键名都是字符串类型,值可以是任意数据类型。 获取对象的属性值,有两种方法。 people.namepeople['name']

falsy值

数字0 NaN '' undefined null

数据类型转换

任意类型转字符串

String(x)

kApYSx.md.png

x.toSring()
kApj74.png

x + ' '

kApOnU.png

任意类型转数字

Number(x)

kApbcV.png

parseInt(x)

kApXBF.png

parseFloat(x)

kApqXT.png

任意类型转布尔

Boolean(x)

kApxAJ.png

!!x

kApzN9.png