LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

String() 和 .toString()的区别

zhenglin
2025年12月2日 16:18 本文热度 345

String() 和 .toString() 都是把值转成字符串的常见方式,但它们在 调用方式、可用性、返回结果 上有明显区别。

下面我用通俗的方式帮你彻底讲清楚👇


💡 一句话总结


🧩 一、String() 是全局函数

它可以安全地转换任何类型为字符串,包括 null 和 undefined


String(123)        // '123'

String(true)       // 'true'

String(null)       // 'null'

String(undefined)  // 'undefined'

String({ a: 1 })   // '[object Object]'

内部逻辑(简化版):

  • 如果是 null 或 undefined → 直接返回 'null' / 'undefined'

  • 否则 → 调用对象的 .toString() 方法


二、.toString() 是对象的方法

它是定义在大多数对象原型上的方法,比如:

  • Number.prototype.toString()

  • ​Boolean.prototype.toString()

  • Array.prototype.toString()

  • Object.prototype.toString()


但 不能对 null 或 undefined 调用,否则直接报错


(123).toString()       // '123'

true.toString()        // 'true'

[1, 2, 3].toString()   // '1,2,3'

({a:1}).toString()     // '[object Object]'


null.toString()        // ❌ TypeError: Cannot read properties of null

undefined.toString()   // ❌ TypeError: Cannot read properties of undefined


三、什么时候用哪个?

举个综合例子: 


const values = [123, true, null, undefined, [1,2], {x:1}];


values.forEach(v => {

  console.log('String():', String(v));

  console.log('toString():', v?.toString?.() ?? '❌ 无 toString 方法');

  console.log('---');

});

输出:


String(): 123

toString(): 123

---

String(): true

toString(): true

---

String(): null

toString(): ❌ 无 toString 方法

---

String(): undefined

toString(): ❌ 无 toString 方法

---

String(): 1,2

toString(): 1,2

---

String(): [object Object]

toString(): [object Object]


总结



参考文章:原文链接


该文章在 2025/12/2 16:18:11 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved