JavaScript 基本类型转换速查表🔥 字符串转换 布尔类型转换 数字类型转换 空类型转换 未定义类型转换

2025-06-04

JavaScript 基本类型转换速查表🔥

字符串转换

布尔类型转换

数字类型转换

空类型转换

未定义类型转换

目录

类型转换可以是显式的,也可以是隐式的。

value = Number('23') // explicit
value = 5 + '25' // implicit
Enter fullscreen mode Exit fullscreen mode

值类型检查

console.log(typeof value);
Enter fullscreen mode Exit fullscreen mode

字符串转换

数字转字符串:

value = String(10); /* => '10' */
value = String(10 + 40); /* => '50' */
value = (10 + 40).toString(); /* => '50' */
value = new String(10 + 20); /* => '30' */
Enter fullscreen mode Exit fullscreen mode

布尔值转字符串

value = String(true); /* => 'true' */
value = String(false); /* => 'false' */
Enter fullscreen mode Exit fullscreen mode

数组转字符串

value = String([1, 2, 3]); /* => '1,2,3' */
value = String([ ]); /* => '' */ 
Enter fullscreen mode Exit fullscreen mode

对象到字符串

value = String({name: "Daniel"}); /* => [object Object] */
Enter fullscreen mode Exit fullscreen mode

当任何数据类型与字符串连接时,都会转换为字符串(隐式转换):

value = 30 + ' ' + 30; /* => 30 30 */ // Space is considered a symbol.
value = 30 + '' + undefined; /* => 30undefined */
Enter fullscreen mode Exit fullscreen mode

数学运算将空字符串转换为零:

value = 30 - ''; /* => 30 */ 
value = 30 - 'text'; /* => NaN */ // If the string is not empty, then we will get NaN - calculation error.
value = 30 - '5'; /* => 25 */ // If we write a number in a string, we will get a number type
Enter fullscreen mode Exit fullscreen mode

布尔类型转换

在数学运算中,true 转换为一,false 转换为零:

value = true + 5; /* => 6 */
value = false + 5; /* => 5 */
Enter fullscreen mode Exit fullscreen mode

字符串转布尔值

value = Boolean('hello'); /* => true */ // Any non-empty string will be considered true.
value = Boolean(' '); /* => true */ 
value = Boolean(''); /* => false */ // An empty string will be considered false.
Enter fullscreen mode Exit fullscreen mode

数字转布尔值

value = Boolean(-123); /* => true */ // Any number, both positive and negative, will be considered true.
value = Boolean(123); /* => true */
value = Boolean(0); /* => false */ // Zero counts as false
Enter fullscreen mode Exit fullscreen mode

未定义为布尔值

value = Boolean(undefined); /* => false */
Enter fullscreen mode Exit fullscreen mode

空值转为布尔值

value = Boolean(null); /* => false */
Enter fullscreen mode Exit fullscreen mode

对象转布尔值

value = Boolean({}); /* => true */ // An empty object is considered true.
Enter fullscreen mode Exit fullscreen mode

数组转布尔值

value = Boolean([]); /* => true */ // An empty array is considered true.
Enter fullscreen mode Exit fullscreen mode

数字类型转换

字符串转数字

value = Number('23'); /* => 23 */
value = Number('string...lalala'); /* => NaN */ 
value = parseInt(' 203px'); /* => 203 */ // The parseInt function reads a number from a string and removes all characters after it, but if there are characters before the number (except for a space), then it will output NaN. Serves for whole numbers.
value = parseFloat('203.212px'); /* => 203.212 */ // Works the same as parseInt, but for fractional numbers.
Enter fullscreen mode Exit fullscreen mode

布尔值转数字

value = Number(true); /* => 1 */
value = Number(false); /* => 0 */
Enter fullscreen mode Exit fullscreen mode

空值转为数字

value = Number(null); /* => 0 */
Enter fullscreen mode Exit fullscreen mode

数组转数字

value = Number([1, 2, 3]); /* => NaN */ // NaN refers to numbers.
Enter fullscreen mode Exit fullscreen mode

空类型转换

数学运算时转换为零:

value = null + 5; /* => 5 */
Enter fullscreen mode Exit fullscreen mode

未定义类型转换

转换为 NaN 以进行数学运算:

value = false + undefined; /* => NaN */
Enter fullscreen mode Exit fullscreen mode

感谢阅读!❤️
你也可以看看我的Redux 基础速查表

文章来源:https://dev.to/danielkrupnyi/javascript-basic-type-conversion-cheat-sheet-1gg4
PREV
掌握开发人员解决问题的五个为什么方法方法的起源和目的尝试一下!
NEXT
林波岛的三个想法