JavaScript数据类型转换表
| 值 | 真假值 | typeof | ->字符串 | isFinite | ->数字 | ->数字->isFinite | 等于本身 |
|---|---|---|---|---|---|---|---|
| undefined | 假 | undefined | 'undefined' | X | null | X | - |
| null | 假 | object | 'null' | 有限数 | 0 | 有限数 | - |
| false | 假 | boolean | 'false' | 有限数 | 0 | 有限数 | - |
| '' | 假 | string | '' | 有限数 | 0 | 有限数 | - |
| "" | 假 | string | '' | 有限数 | 0 | 有限数 | - |
| 0 | 假 | number | '0' | 有限数 | 0 | 有限数 | - |
| -0 | 假 | number | '0' | 有限数 | -0 | 有限数 | - |
| NaN | 假 | number | 'NaN' | X | NaN | X | 否 |
| true | 真 | boolean | 'true' | 有限数 | 1 | 有限数 | - |
| '1.2' | 真 | string | '1.2' | 有限数 | 1.2 | 有限数 | - |
| 'one' | 真 | string | 'one' | X | NaN | X | - |
| 1 | 真 | number | '1' | 有限数 | 1 | 有限数 | - |
| Infinity | 真 | number | 'Infinity' | X | Infinity | X | - |
| -Infinity | 真 | number | '-Infinity' | X | -Infinity | X | - |
| {} | 真 | object | '[object Object]' | X | NaN | X | - |
| [] | 真 | object | '' | 有限数 | 0 | 有限数 | - |
| [9] | 真 | object | '9' | 有限数 | 9 | 有限数 | - |
| ['a'] | 真 | object | 'a' | X | NaN | X | - |
JS中一共有6种假值,其他都是真值
js
undefined
null
false
NaN
'' // 或者""
0undefined
null
false
NaN
'' // 或者""
0isFinite()
JS种的相等判断==与===
测试代码
js
let allType = [
undefined,
null,
false,
'',
"",
0,
-0,
NaN,
true,
"1.2",
"one",
1,
Infinity,
-Infinity,
{},
[],
[9],
['a'],
]
let ResultTable = []
for (let i = 0; i < allType.length; i++) {
ResultTable.push({
// '序号':i+1,
'值': allType[i],
'真假值': !!allType[i] ? '真' : '假',
'typeof': typeof (allType[i]),
'转换为字符串': String(allType[i]),
'isFinite': isFinite(allType[i]) ? '有限数' : 'X',
'转换为数字': Number(allType[i]),
'转换数字后isFinite': isFinite(Number(allType[i])) ? '有限数' : 'X',
'是否等于它本身': allType[i] === allType[i] ? '-' : '否'
})
}
console.table(ResultTable)let allType = [
undefined,
null,
false,
'',
"",
0,
-0,
NaN,
true,
"1.2",
"one",
1,
Infinity,
-Infinity,
{},
[],
[9],
['a'],
]
let ResultTable = []
for (let i = 0; i < allType.length; i++) {
ResultTable.push({
// '序号':i+1,
'值': allType[i],
'真假值': !!allType[i] ? '真' : '假',
'typeof': typeof (allType[i]),
'转换为字符串': String(allType[i]),
'isFinite': isFinite(allType[i]) ? '有限数' : 'X',
'转换为数字': Number(allType[i]),
'转换数字后isFinite': isFinite(Number(allType[i])) ? '有限数' : 'X',
'是否等于它本身': allType[i] === allType[i] ? '-' : '否'
})
}
console.table(ResultTable)
liang14658fox