Skip to content

Commit b191bad

Browse files
committed
docs(symbol): fixed text
1 parent ced2b3b commit b191bad

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

docs/symbol.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,19 +102,19 @@ const c:unique symbol = b; // 报错
102102

103103
上面示例中,unique symbol 类型(变量`a`)赋值给 symbol 类型(变量`b`)是可以的,但是 symbol 类型(变量`b`)赋值给 unique symbol 类型(变量`c`)会报错。
104104

105-
unique symbol 类型的一个作用,就是用作属性名,这可以保证不会跟其他属性名冲突。如果要把某一个特定的 Symbol 值当作属性名,那么它的类型只能是 unique symbol,不能是 symbol。
105+
unique symbol 类型的一个作用,就是用作属性名,这可以保证不会跟其他属性名冲突。在 5.8.3 版本之前,如果要把某一个特定的 Symbol 值当作属性名,TypeScript 只允许它的类型是 unique symbol,不能是 symbol,5.8.3 版本之后没有了这个限制
106106

107107
```typescript
108108
const x:unique symbol = Symbol();
109109
const y:symbol = Symbol();
110110

111111
interface Foo {
112112
[x]: string; // 正确
113-
[y]: string; // 报错
113+
[y]: string; // 5.8.3 版本之前报错
114114
}
115115
```
116116

117-
上面示例中,变量`y`当作属性名,但是`y`的类型是 symbol,不是固定不变的值,导致报错
117+
上面示例中,变量`y`当作属性名,但是`y`的类型是 symbol,不是固定不变的值,5.8.3 版本之前会报错,之后就不会
118118

119119
`unique symbol`类型也可以用作类(class)的属性值,但只能赋值给类的`readonly static`属性。
120120

0 commit comments

Comments
 (0)