[タイプスクリプト]処理Any(AnyとUnknown)
3453 ワード
既存のプログラミング言語のタイプシステムは、完全静的言語と完全動的言語に明確に分けることができる.しかし、タイプスクリプトのタイプシステムはオプション(optional)とグラデーション(gradule)であるため、静的および動的特性を有する.したがって、コードの一部にのみタイプシステムを適用したり、状況に応じてタイプスクリプトを省略したりすることができます.
タイプスクリプトのタイプシステムは、タイプシステムを選択的にコードの一部にのみ適用できるため、JavaScriptコードを漸進的にタイプスクリプト(移行)に変換して使用することができます.
任意のタイプは、できるだけ小さな範囲でのみ使用されます.
まず関数に関するanyの使い方を理解してみましょう.
タイプスクリプトのタイプシステムは、タイプシステムを選択的にコードの一部にのみ適用できるため、JavaScriptコードを漸進的にタイプスクリプト(移行)に変換して使用することができます.
any
タイプは、移行時にコードの一部でタイプチェックを無効にします.ただし、any
はタイプスクリプトで非常に強力なため、any
を正しく使用してこそ、タイプスクリプトコードをより効率的に記述することができます.任意のタイプは、できるだけ小さな範囲でのみ使用されます.
まず関数に関するanyの使い方を理解してみましょう.
function processBar(b: Bar) {
/* ... */
}
function fn() {
const x = expressionReturningFoo();
processBar(x);
// ! x : "Foo" 형식의 인수는 'Bar' 형식의 매개변수에 할당될 수 없습니다.
}
コード内のxという変数に対してFooタイプとBarタイプを同時に割り当てることができる場合、エラーを解消するには2つの方法があります.function fn1() {
const x: any = expressionReturningFoo(); // 변수에 any 타입을 직접 할당하는 건 좋지 않습니다.
processBar(x);
}
function fn2() {
const x = expressionReturningFoo(); // 다운캐스팅을 이용하는 이 방법이 훨씬 좋습니다.
processBar(x as any);
}
作成中Reference
この問題について([タイプスクリプト]処理Any(AnyとUnknown)), 我々は、より多くの情報をここで見つけました https://velog.io/@tmpks5/타입스크립트-Any-다루기-Any-와-Unknownテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol