為什麼嘗試在字串基元中加入屬性失敗
在JavaScript 中,試著為字串基元新增屬性,例如下面的程式碼,將會無效:
<code class="javascript">var test = "test"; test.test = "test inner"; console.log(test.test); // Output: undefined</code>
JavaScript 中的類型
要理解這個問題,必須掌握JavaScript 中類型的概念。 JavaScript 中有八種類型:
原始值(例如字串)不能擁有屬性,而物件可以。
屬性賦值
將屬性分配給變數時,例如as:
<code class="javascript">foo.bar = 'abc';</code>
結果取決於foo 的值:
未定義或空白:錯誤物件:建立或指派給命名屬性' bar'
其他類型(例如String):嚴格模式下出現TypeError(寬鬆模式下無操作)
日期排序解決方案 在您的特定情況下,由於日期存儲為字符串,因此對日期進行排序的一種解決方法是在排序演算法中使用自訂比較函數,該函數假設日期始終以相同的格式儲存。此自訂函數可以根據日期字串的格式執行日期感知比較。以上是為什麼不能在 JavaScript 中為字串基元添加屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!