From 83788055659011fea68dc4def79756ec41f6025c Mon Sep 17 00:00:00 2001 From: Jason Lam Date: Sat, 4 Nov 2023 20:28:23 +0800 Subject: [PATCH 1/3] [zh-cn]: add the translation of WeakSet constructor --- .../global_objects/weakset/weakset/index.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md diff --git a/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md b/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md new file mode 100644 index 00000000000000..1f1a33eee19fd3 --- /dev/null +++ b/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md @@ -0,0 +1,57 @@ +--- +title: WeakSet() 构造函数 +slug: Web/JavaScript/Reference/Global_Objects/WeakSet/WeakSet +--- + +{{JSRef}} + +**`WeakSet()`** 构造函数创建 {{jsxref("WeakSet")}} 对象。 + +## 语法 + +```js-nolint +new WeakSet() +new WeakSet(iterable) +``` + +> **备注:** `WeakSet()` 构造函数只能使用 [`new`](/zh-CN/docs/Web/JavaScript/Reference/Operators/new) 调用。不使用 `new` 而直接调用会抛出 {{jsxref("TypeError")}}。 + +### 参数 + +- `iterable` {{optional_inline}} + - : 如果传入了一个[可迭代对象](/zh-CN/docs/Web/JavaScript/Reference/Statements/for...of),这个对象的所有元素都会被添加到新的 `WeakSet` 对象中。空值会被视为未定义。 + +## 示例 + +### 使用 WeakSet 对象 + +```js +const ws = new WeakSet(); +const foo = {}; +const bar = {}; + +ws.add(foo); +ws.add(bar); + +ws.has(foo); // true +ws.has(bar); // true + +ws.delete(foo); // 将 foo 从集合中移除 +ws.has(foo); // false,foo 已经被移除 +ws.has(bar); // true,bar 被保留 +``` + +请注意 `foo !== bar`。虽然它们是相似的对象,_但它们**不是同一个对象**_。因此,它们都被添加到集合中。 + +## 规范 + +{{Specifications}} + +## 浏览器兼容性 + +{{Compat}} + +## 参见 + +- [`core-js` 中 `WeakSet` 的 polyfill](https://github.com/zloirock/core-js#weakset) +- {{jsxref("WeakSet")}} From e65fca247fcc7dbb8c61c98885cb244c836fe803 Mon Sep 17 00:00:00 2001 From: Jason Lam Date: Sat, 4 Nov 2023 20:29:34 +0800 Subject: [PATCH 2/3] update --- .../reference/global_objects/weakset/weakset/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md b/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md index 1f1a33eee19fd3..7cd0a9d7284c01 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md +++ b/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md @@ -19,7 +19,7 @@ new WeakSet(iterable) ### 参数 - `iterable` {{optional_inline}} - - : 如果传入了一个[可迭代对象](/zh-CN/docs/Web/JavaScript/Reference/Statements/for...of),这个对象的所有元素都会被添加到新的 `WeakSet` 对象中。空值会被视为未定义。 + - : 如果传入了一个[可迭代对象](/zh-CN/docs/Web/JavaScript/Reference/Statements/for...of),这个对象的所有元素都会被添加到新的 `WeakSet` 对象中。`null` 会被视为 `undefined`。 ## 示例 From 9dcd2e7be7d84fd1349f893f4f09877f52a87f56 Mon Sep 17 00:00:00 2001 From: Jason Lam Date: Sun, 5 Nov 2023 22:37:34 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20index.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: A1lo --- .../reference/global_objects/weakset/weakset/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md b/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md index 7cd0a9d7284c01..d333fc46ba887e 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md +++ b/files/zh-cn/web/javascript/reference/global_objects/weakset/weakset/index.md @@ -41,7 +41,7 @@ ws.has(foo); // false,foo 已经被移除 ws.has(bar); // true,bar 被保留 ``` -请注意 `foo !== bar`。虽然它们是相似的对象,_但它们**不是同一个对象**_。因此,它们都被添加到集合中。 +请注意 `foo !== bar`。它们是相似的对象,_但它们**不是同一个对象**_。因此,它们都会被添加到集合中。 ## 规范