簡體   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