From b4ec05645d258102c75a267826209c0c3cd6d4b3 Mon Sep 17 00:00:00 2001 From: AnHongpeng Date: Sat, 29 Feb 2020 14:52:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BD=BF=E8=AF=AD=E5=8F=A5=E6=9B=B4?= =?UTF-8?q?=E9=80=9A=E9=A1=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/symbol.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/symbol.md b/docs/symbol.md index e8d97cb..75eb151 100644 --- a/docs/symbol.md +++ b/docs/symbol.md @@ -375,7 +375,7 @@ let s2 = Symbol.for('foo'); s1 === s2 // true ``` -上面代码中,`s1`和`s2`都是 Symbol 值,但是它们都是同样参数的`Symbol.for`方法生成的,所以实际上是同一个值。 +上面代码中,`s1`和`s2`都是 Symbol 值,但是它们都是由同样参数的`Symbol.for`方法生成的,所以实际上是同一个值。 `Symbol.for()`与`Symbol()`这两种写法,都会生成新的 Symbol。它们的区别是,前者会被登记在全局环境中供搜索,后者不会。`Symbol.for()`不会每次调用就返回一个新的 Symbol 类型的值,而是会先检查给定的`key`是否已经存在,如果不存在才会新建一个值。比如,如果你调用`Symbol.for("cat")`30 次,每次都会返回同一个 Symbol 值,但是调用`Symbol("cat")`30 次,会返回 30 个不同的 Symbol 值。