Skip to content

Commit

Permalink
[zh-cn]: update translation of WeakMap.set()&get()&has()&delete()
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonLamv-t committed Nov 1, 2023
1 parent c2dbe6f commit d35ede1
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 49 deletions.
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,29 +5,31 @@ 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".
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,36 @@ 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
Returns `true` if an element with the specified key exists in the `WeakMap` object; otherwise `false`. Always returns `false` if `key` is not an object or a [non-registered symbol](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol#shared_symbols_in_the_global_symbol_registry).
如果指定键的元素存在于 `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 +45,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

0 comments on commit d35ede1

Please sign in to comment.