简介
JS的数据类型有8种(大小写无所谓):
- 数字 number
- 字符串 string
- 布尔 bool
- 符号 symbol
- 空 undefined
- 空 null
- 对象 object 总结:四基两空一对象
还有一种新增的bigint,任意精度整数,可以安全存储和操作大整数。即始超出 Number 能够表示的安全整数范围。是 chrome 67中的新功能。
数字 number
64位浮点数,JS 的 number 全都是以小数(浮点数)的形式存储的,没有单独的整数。
+0 和 -0是不一样的。
无穷大:Infinity 、+Infinity 、-Infinity
无法表示的数字:NaN (Not a Number)
字符串 string
转义:
\' 表示 '
\" 表示 "
\n 表示换行
\r 表示回车
\t 表示 tab 制表符
\\ 表示 \
\uFFFF 表示对应的 Unicode 字符
\xFF 表示前 256 个 Unicode 字符
如果你想要在字符串里回车
let s = `这样是
可以的
用反引号很容易做到`
布尔 bool 符号 symbol 空 undefined 空 null 对象 object
类型转换
- number => string:
- String(n)
- n + ''
- string => number
- Number(s)
- parseInt(s) / parseFloat(s)
- s - 0
- x => bool
- Boolean(x)
- !!x
- x => string
- String(x)
- x.toString()
一些问题及解答
-
JS数据类型:JS 的数据类型有几种?
8种。Number、String、Boolean、Null、undefined、object、symbol、bigInt。 -
JS数据类型:Object 中包含了哪几种类型?
其中包含了Data、function、Array等。这三种是常规用的。 -
JS数据类型:JS的基本类型和引用类型有哪些呢?
基本类型(单类型):除Object外都是。 String、Number、boolean、null、undefined。 引用类型:object。里面包含的 function、Array、Date。 -
JS数据类型:JS 中 typeof 输出分别是什么?
{ } 、[ ] 输出 object。 console.log( ) 输出 function。
注意一点:NaN 是 Number 中的一种,非Number 。
-
JS数据类型:null 和 undefined 有什么区别?
Null 只有一个值,是 null。不存在的对象。 Undefined 只有一个值,是undefined。没有初始化。undefined 是从 null 中派生出来的。 简单理解就是:undefined 是没有定义的,null 是定义了但是为空。 -
JS数据类型:null 不存在的原因是什么?如何解决?
不存在的原因是:
1、方法不存在 2、对象不存在 3、字符串变量不存在 4、接口类型对象没初始化解决方法:
做判断处理的时候,放在设定值的最前面 -
JS数据类型:== 和 === 有什么区别,什么场景下使用?
== 表示相同。
判断类型,如果不同,会进行一次类型转换(隐式转换)。 类型不同,值也可能相等。=== 表示严格相同。
会先判断类型,类型不同绝不相等,类型不同直接就是 false,不再进行下一步操作。
例:
- undefined和null:同为undefined或null,不管怎么比都为true,一个为null,一个为undefined,==比较为true,===比较为false。
- 整数与boolean比较,1和true用==比较为true,0和false用==号比较为true,其它为false。
- 字符串和整数进行比较,如果字符串转换为整数和的值和整数相等,使用==比较为true,使用===比较为false。
-
对象可以比较吗?
对象是可以比较,遍历比较key 和 value就行, Object.is(value1, value2)。
falsy值
undefined , null , 0 , NaN , ''空字符串
只有这五个falsy值和false才是假,但是这五个又不是真的假。