繁体   English   中英

Javascript - 原始字符串隐式转换为对象

[英]Javascript - primitive string implicit conversion to object

我将参考Mozilla 的关于 String 对象文档。

JavaScript 会自动将原始类型转换为 String 对象,因此可以将 String 对象方法用于原始字符串。 在要在原始字符串上调用方法或发生属性查找的上下文中,JavaScript 将自动包装字符串原始并调用方法或执行属性查找。

这种情况的一个很好的例子是访问长度属性:

let word = "Hello";
word.length;

我明白在这种情况下会发生什么:

let word = "Hello";
String(word).length;

但是在尝试了一些基准测试之后,我很清楚word.lengthString(word).length快得多。 似乎隐式转换与String(word)完全不同,要快得多。 我找不到有关此隐式转换如何工作的任何信息,但了解某些优化问题可能会有所帮助。

这样做的原因可能是解析的时间以及内部 JS 字符串对象(实际上是 C++)的工作速度比创建额外的接口以在高级 JS 级别与字符串交互的事实更快......所以这一切都与优化有关它( https://dev.to/promhize/what-you-need-to-know-about-javascripts-implicit-coercion-e23 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM