枚举

在计算机科学中,**枚举**类型是一种数据类型,它包含一组有限的命名值。

HTML 枚举属性

在HTML中,枚举属性是具有有限且预定义的文本值集的属性。例如,全局HTML dir属性有三个有效值:ltrrtlauto

每个枚举属性都有一个默认值,用于属性存在但没有值(值缺失)的情况,以及一个默认值,用于属性被分配无效值的情况。与布尔属性 HTML属性(无论值是否存在、省略或无效,只要属性存在就始终为真)不同,对于枚举HTML属性,省略值时的默认值可能与无效值时的默认值不同。例如,全局HTML contenteditable属性有两个有效关键字:truefalse。如果属性存在但未设置值,则值为true。如果设置了值,但无效,例如contenteditable="contenteditable",则该值映射到第三种状态inherit

ARIA 枚举属性

作为HTML的ARIA状态和属性也具有枚举属性。如果ARIA属性在枚举列表中同时包含truefalse值,则通常将省略的属性视为false,将无效值视为true,而空字符串或省略值的默认值取决于属性。

例如,aria-current属性接受一个有限的值列表,其中包括pagesteplocationdatetimetruefalse。在这种情况下,如果属性不存在、为空字符串、存在但没有值,或者设置为aria-current="false",则该属性为false,不会暴露给用户。任何不在枚举值列表中的非空字符串值都将被视为设置了aria-current="true"

JavaScript 可枚举属性

在JavaScript中,可枚举属性是指其内部可枚举标志设置为true的属性,这是通过简单赋值或通过属性初始化器创建的属性的默认值。大多数迭代机制(例如for...in循环和Object.keys)仅访问可枚举键。

另请参阅