Skip to content

Commit a25a324

Browse files
authored
Merge pull request #164 from yukiyohure/add-unknown
unknownについての記載を追加
2 parents 67dd4f1 + 72106f2 commit a25a324

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

docs/types/type-assertion.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ function handler(event: Event) {
9797
}
9898
```
9999

100-
あなたがその型を依然として必要とするなら、二重アサーションを使うことができますが、最初にすべての型と互換性のある`any`をアサートするので、コンパイラはもう文句を言うことはありません:
100+
あなたがその型を依然として必要とするなら、二重アサーションを使うことができますが、最初にすべての型と互換性のある`unknown`(または`any`)をアサートするので、コンパイラはもう文句を言うことはありません:
101101

102102
```ts
103103
function handler(event: Event) {
@@ -107,3 +107,8 @@ function handler(event: Event) {
107107

108108
#### TypeScriptが単一のアサーションが不十分と判断する方法
109109
基本的に、`S``T`のサブタイプであるか `T``S`のサブタイプである場合、`S`から`T`へのアサーションは成功します。これは、タイプアサーションを行う際に特別な安全性を提供するためです。完全に任意の型アサーションは非常に安全でない可能性があります。そして、安全でない状態にするために、あなたは`any`を使用する必要があります。
110+
111+
#### `as any as` vs `as unknown as`
112+
両方とも Typescript からすると同じくらい安全ではないです。お好きな方をお使いください。考慮する点としては:
113+
- Linter は `unknown` を好む (`no-explicit-any` ルールを設定している場合)
114+
- `any``unknown` よりタイピングする文字数が少ない

0 commit comments

Comments
 (0)