typeofと真偽値によるナローイング
typeofチェックでプリミティブ型を絞り込みます。
「typeofと真偽値によるナローイング」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。
はじめに
typeof による絞り込み
function process(val: string | number) {
if (typeof val === 'string') {
return val.toUpperCase(); // val: string
}
return val.toFixed(2); // val: number
}typeof の戻り値
typeof 'hello' // 'string'
typeof 42 // 'number'
typeof true // 'boolean'
typeof null // 'object' (quirk!)
typeof undefined // 'undefined'真偽値による絞り込み
function greet(name: string | null) {
if (name) {
console.log('Hello, ' + name); // name: string
} else {
console.log('Hello, stranger');
}
}Falsy な値
ブール値への変換による絞り込み
const items: (string | null)[] = ['a', null, 'b', null];
const strings = items.filter((x): x is string => x !== null);否定条件
function getLength(val: string | null): number {
if (!val) return 0; // early return narrows
return val.length; // val: string here
}typeof と等価性の組み合わせ
function accept(x: string | number | boolean) {
if (typeof x === 'string' || typeof x === 'number') {
console.log(x); // x: string | number
}
}typeof では null に絞り込めない
function check(x: string | null | 0) {
if (x === null) { /* x: null */ }
else if (x === 0) { /* x: 0 */ }
else { /* x: string */ }
}ループ内での絞り込み
制御フロー解析
let x: string | number = 'hello';
// x: string
x = 42;
// x: number確認問題
まとめ
よくある質問
「typeofと真偽値によるナローイング」レッスンは無料ですか?
はい。「typeofと真偽値によるナローイング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。
「typeofと真偽値によるナローイング」で何を学びますか?
typeofチェックでプリミティブ型を絞り込みます。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「typeofと真偽値によるナローイング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- typeofと真偽値によるナローイング
- instanceofとinによるナローイング
- ユーザー定義型ガード関数
- neverによる網羅性チェック