Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[zh-cn]: update the translation of WeakMap.set()&get()&has()&delete() #16792

Merged
merged 2 commits into from
Nov 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,42 @@ title: WeakMap.prototype.delete()
slug: Web/JavaScript/Reference/Global_Objects/WeakMap/delete
---

{{JSRef("Global_Objects", "WeakMap")}}
{{JSRef}}

{{jsxref("WeakMap")}} 实例的 **`delete()`** 方法从该 `WeakMap` 中删除指定的元素。

{{EmbedInteractiveExample("pages/js/weakmap-prototype-delete.html")}}

## 概述

**`delete()`** 方法可以从一个 `WeakMap` 对象中删除指定的元素。

## 语法

```plain
wm.delete(key);
```js-nolint
weakMapInstance.delete(key)
```

### Parameters 参数
### 参数

- key
- : 需要删除的元素的键
- `key`
- : 要从 `WeakMap` 对象中删除的元素的键。

### 返回值

如果成功删除,返回 `true`,否则返回 `false`。
如果成功在 `WeakMap` 对象中删除了元素,则返回 `true`。如果未在 `WeakMap` 中找到该键,则返回 `false`。如果 `key` 不是对象或[非全局注册的符号](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol#全局共享的_symbol),则始终返回 `false`。

## 示例

### 使用 delete() 方法

```js
var wm = new WeakMap();
const wm = new WeakMap();
wm.set(window, "foo");

wm.delete(window); // 返回 true,表示删除成功
wm.delete(window); // 返回 true。成功删除

wm.has(window); // 返回 false,因为 window 对象已经被删除了
wm.has(window); // 返回 false。WeakMap 中已经不存在 window 对象
```

## 规范
Expand All @@ -43,6 +49,6 @@ wm.has(window); // 返回 false,因为 window 对象已经被删除了。

{{Compat}}

## 相关链接
## 参见

- {{jsxref("WeakMap")}}
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,35 @@ slug: Web/JavaScript/Reference/Global_Objects/WeakMap/get

{{JSRef}}

**`get()`** 方法返回 `WeakMap` 指定的元素。
{{jsxref("WeakMap")}} 实例的 **`get()`** 方法返回该 `WeakMap` 中的指定元素。

{{EmbedInteractiveExample("pages/js/weakmap-prototype-get.html")}}

## 语法

```plain
wm.get(key);
```js-nolint
get(key)
```

### 参数

- key
- : 必须。想要从 `WeakMap` 获取的元素的键
- `key`
- : 要从 `WeakMap` 对象返回的元素的键

### 返回值

### 返回与指定键相关联的值,如果 `WeakMap` 对象找不到这个键则返回 `undefined`
该 `WeakMap` 对象中与指定键相关联的元素。如果找不到该键,则返回 {{jsxref("undefined")}}。如果 `key` 不是对象或[非全局注册的符号](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol#全局共享的_symbol),则始终返回 {{jsxref("undefined")}}

## 示例

### 使用 `get` 方法
### 使用 get() 方法

```js
var wm = new WeakMap();
const wm = new WeakMap();
wm.set(window, "foo");

wm.get(window); // 返回 "foo".
wm.get("baz"); // 返回 undefined.
wm.get(window); // 返回 "foo"
wm.get("baz"); // 返回 undefined
```

## 规范
Expand All @@ -42,7 +44,7 @@ wm.get("baz"); // 返回 undefined.

{{Compat}}

## 相关链接
## 参见

- {{jsxref("WeakMap")}}
- {{jsxref("WeakMap.set()")}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,35 @@ slug: Web/JavaScript/Reference/Global_Objects/WeakMap/has

{{JSRef}}

**`has()`** 方法根据 WeakMap 对象的元素中是否存在 key 键返回一个 boolean 值。
{{jsxref("WeakMap")}} 实例的 **`has()`** 返回一个布尔值,指示该 `WeakMap` 中是否存在具有指定键的元素。

{{EmbedInteractiveExample("pages/js/weakmap-prototype-has.html")}}

## 语法

```plain
wm.has(key);
```js-nolint
has(key)
```

### Parameters
### 参数

- key
- : 必须的。用来检测 WeakMap 对象中是否存在元素的键为 key
- `key`
- : 要测试是否在该 `WeakMap` 对象中存在的元素的键

### Return value
### 返回值

- Boolean
- : 如果指定的 key 存在于某个元素中则返回 true,否则返回 flase。
如果指定键的元素存在于 `WeakMap` 对象中,则返回 `true`;否则返回 `false`。如果 `key` 不是对象或[非全局注册的符号](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol#全局共享的_symbol),则始终返回 `false`。

## 示例

### 使用 `has` 方法
### 使用 has 方法

```js
var wm = new WeakMap();
const wm = new WeakMap();
wm.set(window, "foo");

wm.has(window); // returns true
wm.has("baz"); // returns false
wm.has(window); // 返回 true
wm.has("baz"); // 返回 false
```

## 规范
Expand All @@ -43,7 +44,7 @@ wm.has("baz"); // returns false

{{Compat}}

## See also
## 参见

- {{jsxref("WeakMap")}}
- {{jsxref("WeakMap.prototype.set()")}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,50 @@ slug: Web/JavaScript/Reference/Global_Objects/WeakMap/set

{{JSRef}}

**`set()`** 方法根据指定的 `key` 和 `value` 在 `WeakMap`对象中添加新/更新元素
{{jsxref("WeakMap")}} 实例的 **`set()`** 方法根据指定的键值在该 `WeakMap` 中添加新元素

{{EmbedInteractiveExample("pages/js/weakmap-prototype-set.html")}}

## 语法

```plain
wm.set(key, value);
```js-nolint
set(key, value)
```

### 参数

- key
- : 必须的。必须是`对象`。是要在`WeakMap` 对象中添加元素的 key 部分
- value
- : 必须的。任意的值。是要在`WeakMap` 对象中添加/元素的 value 部分
- `key`
- : 必须是对象或[非全局注册的符号](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol#全局共享的_symbol)。要添加到 `WeakMap` 对象的元素的键
- `value`
- : 任何要添加到 `WeakMap` 对象的元素的值

### 返回值

该`WeakMap`对象
该 `WeakMap` 对象

### 异常

- {{jsxref("TypeError")}}
- : 如果 `key` 不是一个对象或[非全局注册的符号](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol#全局共享的_symbol),则抛出该异常。

## 示例

### 使用 `set` 方法
### 使用 set() 方法

```js
var wm = new WeakMap();
var obj = {};
const wm = new WeakMap();
const obj = {};

// Add new elements to the WeakMap
wm.set(obj, "foo").set(window, "bar"); // chainable
// 将新元素添加到 WeakMap
wm.set(obj, "foo").set(window, "bar"); // 链式调用

// Update an element in the WeakMap
// 更新 WeakMap 中的元素
wm.set(obj, "baz");

// 使用非全局注册的符号作为键
const sym = Symbol("foo");
wm.set(sym, "baz");
wm.set(Symbol.iterator, "qux");
```

## 规范
Expand All @@ -49,7 +59,7 @@ wm.set(obj, "baz");

{{Compat}}

## See also
## 参见

- {{jsxref("WeakMap")}}
- {{jsxref("WeakMap.prototype.get()")}}
Expand Down