`Set``.prototype`属性表示`Set`构造器的原型。

`Set.prototype` 属性的属性特性：
writable | false
enumerable | false
configurable | false

## 描述

`Set`示例继承于`Set.prototype`。你可以用构造器的原型对象给所有`Set示例添加属性或方法。`

## 属性

`Set.prototype.constructor`
  返回实例的构造函数。默认情况下是`Set`。
`Set.prototype.size`
  返回`Set`对象的值的个数。

## 方法

`Set.prototype.add(value)`
  在`Set对象尾部添加一个元素。返回该` `Set对象。`
`Set.prototype.clear()`
  移除`Set`对象内的所有元素。
`Set.prototype.delete(value)`
  `移除Set的中与这个值相等的元素，返回Set.prototype.has(value)在这个操作前会返回的值（即如果该元素存在，返回true，否则返回false）。``Set.prototype.has(value)在此后会返回false。`
`Set.prototype.entries()`
  `返回一个新的迭代器对象，该对象包含Set对象中的`按插入顺序排列的`所有元素的值的[value, value]数组。为了使这个方法`和`Map对象保持相似，` 每个值的键和值相等。
`Set.prototype.forEach(callbackFn[, thisArg])`
  按照插入顺序，为Set对象中的每一个值调用一次callBackFn。如果提供了`thisArg参数，回调中的this会是这个参数。`
`Set.prototype.has(value)`
  返回一个布尔值，表示该值在`Set中存在与否。`
`Set.prototype.keys()`
  与`values()``方法相同，返回一个新的迭代器对象，该对象包含Set对象中的`按插入顺序排列的`所有元素的值。`
`Set.prototype.values()`
  `返回一个新的迭代器对象，该对象包含Set对象中的`按插入顺序排列的`所有元素的值。`
`Set.prototype[@@iterator]()`
  `返回一个新的迭代器对象，该对象包含Set对象中的`按插入顺序排列的`所有元素的值。`

## 规范

规范 | 状态 | 备注
--- | --- | ---
ECMAScript 2015 (6th Edition, ECMA-262) Set.prototype | Standard | 初始定义
ECMAScript Latest Draft (ECMA-262) Set.prototype | Draft |

## 浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

- Desktop
- Mobile

Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari
--- | --- | --- | --- | --- | ---
Basic support | 38 | 13 (13) | 11 | 25 | 7.1

Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile
--- | --- | --- | --- | --- | --- | ---
Basic support | 未实现 | 38 | 13.0 (13) | 未实现 | 未实现 | iOS 8

### 参见

- `Map.prototype`