Skip to content

JavaScript数据类型转换表 ​

值真假值typeof->字符串isFinite->数字->数字->isFinite等于本身
undefined假undefined'undefined'XnullX-
null假object'null'有限数0有限数-
false假boolean'false'有限数0有限数-
''假string''有限数0有限数-
""假string''有限数0有限数-
0假number'0'有限数0有限数-
-0假number'0'有限数-0有限数-
NaN假number'NaN'XNaNX否
true真boolean'true'有限数1有限数-
'1.2'真string'1.2'有限数1.2有限数-
'one'真string'one'XNaNX-
1真number'1'有限数1有限数-
Infinity真number'Infinity'XInfinityX-
-Infinity真number'-Infinity'X-InfinityX-
{}真object'[object Object]'XNaNX-
[]真object''有限数0有限数-
[9]真object'9'有限数9有限数-
['a']真object'a'XNaNX-

JS中一共有6种假值,其他都是真值 ​

js
undefined
null
false  
NaN
'' // 或者""
0
undefined
null
false  
NaN
'' // 或者""
0

isFinite() ​

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)