同じ名前の複数の入力など、配列が動的に生成される場合は、送信時にそれらが配列であるかどうかを判断する必要があります。この使用法は正しくありません。
正しいものは if( typeof(document.mylist.length) != "unknown" ) {}
です。
または if( !isNaN(document.mylist.length) ) {}
typeof のオペランドは未定義であり、戻り値は "未定義" です。
オペランドは数値です typeof(x) = "number"
文字列 typeof(x) = "文字列"
ブール値 typeof(x) = "ブール値"
オブジェクト、配列、null typeof(x) = "object"
関数 typeof(x) = "関数"
typeof 演算子は、式のデータ型を表す文字列を返します。
使用可能な文字列は、「数値」、「文字列」、「ブール値」、「オブジェクト」、「関数」、および「未定義」です。
例:
alert(typeof (123));//typeof(123) は "数値" を返します
alert(typeof ("123"));//typeof("123") は "文字列" を返します
typeof 演算子は、式のデータ型を表す文字列を返します。
タイプ[()式[]]
expression パラメーターは、型情報を見つける必要がある任意の式です。
説明
typeof 演算子は、型情報を文字列として返します。 typeof の戻り値としては、「number」、「string」、「boolean」、「object」、「function」、「unknown」の 6 つがあります。
typeof 構文のかっこはオプションです。 typeof 演算子の概要:
typeof はオペランドの前に置かれる単項演算であり、オペランドは任意の型にすることができます。
戻り値は、オペランドの型を説明する文字列です。
次のような操作の結果を知っていますか?
typeof(1);
typeof(NaN);
typeof(Number.MIN_VALUE);
typeof(無限大);
typeof("123");
typeof(true);
typeof(ウィンドウ);
typeof(ドキュメント);
typeof(null);
typeof(eval);
typeof(日付);
typeof(sss);
typeof(未定義);
読んでも理解できない場合は、以下をお読みください(理解できる方は読み進めなくても大丈夫です)。
typeof は単項演算子であり、返される結果は常に文字列であり、オペランドごとに異なる結果を返します。
具体的なルールは次のとおりです:
1. 数値型オペランドの場合、typeof によって返される値は数値です。例: typeof(1)、戻り値は数値です。上記は通常の数値です。型にはまらない数値型の場合、返される結果も数値になります。たとえば、typeof(NaN)、NaN は
にあります。
それ自体は数値型ですが、JavaScript の特殊な数値以外の値を表します。
無限大は無限大の特別な値を表します
NaN 特殊な非数値
Number.MAX_VALUE 表現可能な最大数
Number.MIN_VALUE 表現可能な最小の数値(ゼロに最も近い)
Number.NaN 数値以外の特殊な値
Number.POSITIVE_INFINITY は、正の無限大を表す特別な値を表します
Number.NEGATIVE_INFINITY は、負の無限大の特別な値を表します
2. 文字列型の場合、typeof によって返される値は文字列です。たとえば、typeof("123") によって返される値は文字列です。
3. ブール型の場合、typeof によって返される値はブール値です。たとえば、typeof(true) によって返される値はブール値です。
4. オブジェクト、配列、null の場合、戻り値は object です。たとえば、typeof(window)、typeof(document)、および typeof(null) によって返される値はすべてオブジェクトです。
5. 関数型の場合、戻り値は function です。例: typeof(eval) と typeof(Date) によって返される値は関数です。
6. オペランドが定義されていない場合(存在しない変数、関数、未定義など)、unknown が返されます。例: typeof(sss) と typeof(unknown) はどちらも未定義を返します。