[英]Why are there Arrays in JavaScript? Don't Objects suffice?
目前,我正在重新學習JavaScript。
我的老師今天告訴我,在JavaScript中,“一切都是對象”。 實際上,使用for
- in
循環,可以像遍歷數組元素一樣遍歷對象的屬性。
現在,我還有另一個幼稚的問題:如果JavaScript中的所有內容都是Object
,為什么人們使用Array
“生”?
我的第一個猜測是Array
上必須有一些在Object
上不可用的方法(這似乎證明了MDN的快速而膚淺的印象),並且Array
可以被索引(即myArray[i]
)(並且具有length
)。 。 但這是整個故事嗎? 還是使用內置的Array
(對象)數據類型可以獲得一些性能提升?
數組是一種對象類型。 (以及函數,對象等)。
它們具有內部計數器以及推入和彈出狀態。 而且它們有許多用途(將數據收集保存為一個)。
如果您真的想重新實現該功能 ,請繼續。
盡管嘗試自己重新實現js數組,但這是一個有趣的項目。
簡而言之, Array
是Object
,但Object
不是 Array
。 其他類型也是如此,例如Date
, RegExp
等。
您可以剝離許多本機功能的語言,並且仍然具有完全相同的解決方案范圍邊界(可以解決一組完全相同的問題),但是您會一遍又一遍地實現非常基本的對象。 此外,不同的代碼庫將使用這些類型的不同實現,您將失去兼容性和互操作性。
在本機實現某些類型后,使用該語言將變得更輕松,更健壯,更明確和更高效。
最重要的是,整個語言(尤其是JavaScript)努力遵循眾所周知的慣例-它使采用該語言變得更加容易,並使現有代碼的移植變得越來越簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.