Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-基本字符串到对象的隐式转换_Javascript_String_Implicit Conversion - Fatal编程技术网

Javascript-基本字符串到对象的隐式转换

Javascript-基本字符串到对象的隐式转换,javascript,string,implicit-conversion,Javascript,String,Implicit Conversion,我将参考有关字符串对象的文档 JavaScript自动将原语转换为字符串对象,因此可以对原语字符串使用字符串对象方法。在对基元字符串调用方法或进行属性查找的上下文中,JavaScript将自动包装字符串基元并调用该方法或执行属性查找 这种情况的一个很好的例子是访问长度属性: let word = "Hello"; word.length; 我理解在这种情况下发生的情况是: let word = "Hello"; String(word).length; 但在尝试了一些之后,我很清楚word.

我将参考有关字符串对象的文档

JavaScript自动将原语转换为字符串对象,因此可以对原语字符串使用字符串对象方法。在对基元字符串调用方法或进行属性查找的上下文中,JavaScript将自动包装字符串基元并调用该方法或执行属性查找

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

let word = "Hello";
word.length;
我理解在这种情况下发生的情况是:

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

但在尝试了一些之后,我很清楚word.length比Stringword.length快得多。似乎隐式转换与Stringword完全不同,速度更快。我无法找到关于这个隐式转换如何工作的信息,但在一些优化问题中可能会有帮助。

< P>这是分析时间的原因,而实际上是C++的内部JS字符串对象工作得更快,然后创建额外的接口来与高JS级别的字符串交互。 所以这都是关于优化的
有一篇关于它的好文章。

正如引文所说,您正在创建一个字符串对象。获取该字符串的长度比从第一个字符串的值创建另一个字符串对象,然后获取该字符串的长度要快。性能测试是不一样的。在第一种情况下,我们是否以一个基本的字符串对象为基础来创建字符串对象?当然,我们也像第二种情况一样,它们是两种不同的东西。StringHello.length和StringStringHello.length