首頁  >  文章  >  web前端  >  為什麼不能在 JavaScript 中為字串基元添加屬性?

為什麼不能在 JavaScript 中為字串基元添加屬性?

DDD
DDD原創
2024-10-31 21:36:29636瀏覽

Why Can't You Add Properties to String Primitives in JavaScript?

為什麼嘗試在字串基元中加入屬性失敗

在JavaScript 中,試著為字串基元新增屬性,例如下面的程式碼,將會無效:

<code class="javascript">var test = "test";
test.test = "test inner";
console.log(test.test); // Output: undefined</code>

JavaScript 中的類型

要理解這個問題,必須掌握JavaScript 中類型的概念。 JavaScript 中有八種類型:

  • 七種基本型別:Undefined、Null、Boolean、Number、BigInt、String 和Symbol
  • 一種非基本型別:Object

原始值(例如字串)不能擁有屬性,而物件可以。

屬性賦值

將屬性分配給變數時,例如as:

<code class="javascript">foo.bar = 'abc';</code>

結果取決於foo 的值:

  • 結果取決於foo 的值:
  • 結果取決於foo 的值:

未定義或空白:錯誤物件:建立或指派給命名屬性' bar'

其他類型(例如String):嚴格模式下出現TypeError(寬鬆模式下無操作)

日期排序解決方案 在您的特定情況下,由於日期存儲為字符串,因此對日期進行排序的一種解決方法是在排序演算法中使用自訂比較函數,該函數假設日期始終以相同的格式儲存。此自訂函數可以根據日期字串的格式執行日期感知比較。

以上是為什麼不能在 JavaScript 中為字串基元添加屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn