列舉
在計算機科學中,列舉型別是一種由有限的命名值集組成的資料型別。
HTML 列舉屬性
在 HTML 中,列舉屬性是具有有限的、預定義文字值集的屬性。例如,全域性 HTML dir 屬性有三個有效值:ltr、rtl 和 auto。與 HTML 標籤名一樣,HTML 列舉屬性及其值不區分大小寫,因此 LTR、RTL 和 AUTO 也可以工作。IDL 反射屬性 HTMLElement.dir 也可以使用不區分大小寫的值進行設定,但將始終返回規範中定義的規範格式(在此示例中為小寫值)。有關更多資訊,請參閱屬性反射。
每個列舉屬性都有一個預設值,用於當屬性存在但沒有值時(缺少值),以及一個預設值,用於當屬性被分配無效值時。與布林屬性 HTML 屬性不同——當屬性存在時,無論值是存在、省略還是無效,它們都始終為 true——對於列舉 HTML 屬性,省略值的預設值可能與無效值的預設值不同。例如,全域性 HTML contenteditable 屬性有兩個有效的關鍵字:true 和 false。如果屬性存在但未設定值,則值為 true。如果設定了值,但無效,例如 contenteditable="contenteditable",則該值對映到第三種狀態 inherit。
ARIA 列舉屬性
ARIA 狀態和屬性,作為 HTML,也具有列舉屬性。如果 ARIA 屬性在列舉列表中同時包含 true 和 false 值,它通常將省略的屬性視為 false,將無效值視為 true,而空字串或省略值的預設值取決於屬性。
例如,aria-current 屬性接受一個有限的值列表,包括 page、step、location、date、time、true 和 false。在這種情況下,如果屬性不存在、是空字串、存在但沒有值,或者設定為 aria-current="false",則該屬性為 false 並且不暴露給使用者。列表中任何不在列舉值列表中的非空字串值都將被視為設定了 aria-current="true"。
JavaScript 可列舉屬性
在 JavaScript 中,可列舉屬性是指其內部可列舉標誌設定為 true 的屬性,這是透過簡單賦值或屬性初始化器建立的屬性的預設值。大多數迭代機制(例如 for...in 迴圈和 Object.keys)只訪問可列舉鍵。
另見
- Boolean
- JavaScript 資料型別和資料結構
- HTML 標準中的列舉屬性
- 屬性反映