JavaScript基本数据类型转换

number数字类型

包含: 常规数字、NaN

NaN

not a number: 不是一个数,但它属于数字类型

NaN和任何值(包括自己)都不相等: NaN!=NaN,所以我们不能用相等的方式判断是否为有效数字

isNaN

检测一个值是否为非有效数字,如果不是有效数字返回true,反之是有效数字返回false。

在使用后isNaN进行检测的时候,首先会验证检测的值是否为数字类型,如果不是,先基于Number()这个方法,把值转换为数字类型,然后再检测

把其它类型值转换为数字类型

  • Number([val])
  • parseInt/parseFloat([val],[进制]): 也是转换为数字的方法,对于字符串来说,它是从左到右一次查找有效数字字符,知道遇到非有效数字字符,停止查找(不管后面是否还有数字,都不在找了),把找到的当做数字返回
  • ==进行比较的时候,可能要出现把其他类型的值转换为数字

string字符串数据类型

所有用单引号、双引号、反引号(撇 ES6模板字符串)包起来的都是字符串

把其他类型数值转换位字符串

  • [val].toString()
  • 字符串拼接

boolean布尔数据类型

只有两个值 true/false

把其他数据类型值转换为布尔类型

只有 0、NaN、’’、null、undefined 五个值转换为false,其余都转换为true(而且没有任何特殊情况)

  • Boolean([val])
  • !/!!
  • 条件判断

null / undefined

null 和 undefined都代表的是没有

  • null: 意料之中(一般都是开始不知道值,我们手动先设置null,后期再给予赋值操作)
let num = null; // =>let num = 0; 一般最好用null作为初始化空值,因为零不是空值,他在栈内存中有自己的存储空间(占了位置)
// ....
num = 12; 
  • undefined:意料之外(不是我能决定的)
let num;//=>创建一个变量没有赋值,默认值为undefined
// ....
num = 12;

object对象数据类型–普通对象

([key]:[value],…) 任何一个对象都是由零到多组键值对(属性名:属性值)组成的(并且属性名不能重复)

数组是特殊的对象数据类型

猜你喜欢

转载自blog.csdn.net/weixin_45412353/article/details/106576473