lengthとは?
まぁ!length
についてのお話ですわね?
TypeScriptにおきましては、タプルや配列の長さを組み込みの length
プロパティを用いて取得することができますのよ。
// タプルの長さを取得する型
type Length<T extends readonly any[]> = T['length'];
// 使用例
type SampleTuple = [string, number, boolean];
type SampleLength = Length<SampleTuple>; // 結果は3
補足(extendsについて)
extends
とは、型に制約を設けるためのエレガントな仕組みですわ。
type IsString<T> = T extends string ? true : false;
type A = IsString<string>; // true
type B = IsString<number>; // false
また、Length
型は readonly any[]
を制約として指定しておりますので、
タプルや配列以外の型を渡しますと、無粋にもエラーとなってしまいますの。
まとめ
-
length
を使用することで、タプルや配列の長さを優雅に取得できますわ。 -
extends
を用いることで、型に制約を設けたり、条件分岐を行うことができますのよ。
まぁ!これで length
の理解もより深まりましたわね?ふふっ🎀