![](/img/trans.png)
[英]Conversion of String Object to String Primitive in Javascript
[英]Javascript - primitive string implicit conversion to object
JavaScript 會自動將原始類型轉換為 String 對象,因此可以將 String 對象方法用於原始字符串。 在要在原始字符串上調用方法或發生屬性查找的上下文中,JavaScript 將自動包裝字符串原始並調用方法或執行屬性查找。
這種情況的一個很好的例子是訪問長度屬性:
let word = "Hello";
word.length;
我明白在這種情況下會發生什么:
let word = "Hello";
String(word).length;
但是在嘗試了一些基准測試之后,我很清楚word.length
比String(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.