isNaN って何なのですか?

1
isNaN って何なのですか?

よくわかりません ><
2デフォルトの名無しさん:2007/05/15(火) 22:34:07
単発質問スレ立てるな。
とつられみる
3デフォルトの名無しさん:2007/05/15(火) 22:40:41
いすなん
4デフォルトの名無しさん:2007/05/15(火) 22:43:07
NaNと何を掛けたネタかと思った
51:2007/05/15(火) 22:50:58
var str1 = "2007 hello world ";
var str2 = "hello world";

alert(parseInt(str1)); // 2007という数値が返る
alert(parseInt(str2)); // NaNという未定義型が返る

JavaScript には、未定義値 Undefined 以外に特殊な未定義型があります
それが、数値の未定義型 NaN(Not a Number) です
ttp://wisdom.sakura.ne.jp/web/jscript/js9.html

javascript だとこんなかんじみたいなのですけれど、
なんか変なかんじがします。
6デフォルトの名無しさん:2007/05/15(火) 22:52:53
isNaN メソッド

指定した値が予約済みの値 NaN (非数) かどうかを表すブール値を返します。

function isNaN(number : Number) : Boolean

引数
number
必ず指定します。数値を指定します。

解説
isNaN メソッドは、指定した値が NaN である場合は真 (true) を返し、それ以外の
場合は偽 (false) を返します。通常、parseInt メソッドや parseFloat メソッドからの
戻り値を調べるために使用します。

また、変数をその変数自体と比較して、NaN かどうかを調べることもできます。値
が等しいと評価されない場合、その変数は NaN となります。NaN は、自身と比較
して等しいと評価されない唯一の値です。

必要条件
Version 1

対象 :
Global オブジェクト

参照
関連項目
isFinite メソッド
NaN プロパティ (Global)
parseFloat メソッド
parseInt メソッド
71:2007/05/15(火) 22:58:58
var str = "hello world"; var i;

i = parseInt(str); // 明示的型変換に失敗した証しとして NaN が返される

if (isNaN(i)) alert("文字列の数値化に失敗しました");
if (!(i == i)) alert("i == i で false が返されました");

NaNどうしの比較は、falseが返される。
81:2007/05/15(火) 23:08:57
基本的な使い方としては、明示的型変換がこけたときに
返される NaNというオブジェクト のようなものを isNaN で
チェックすることで、型変換(文字列->数値)が成功したか
否か、を判定するために容易されている関数。 >ビルトイン関数

ttp://www.tohoho-web.com/js/builtin.htm
91:2007/05/15(火) 23:22:44
isNaN('banana'); // true. banana is NaN. 数値に変換できないもの

isNaN('123'); // false. '123' is 数値に変換可
isNaN(123); // false. 123 is 数値に変換可

'banana' は NaN だから true.
ttp://www.scollabo.com/banban/jsindex/sample/sample_116.html
10デフォルトの名無しさん:2007/05/16(水) 00:04:03
>>1
is南京豆の略だ。


まず食え
11デフォルトの名無しさん:2007/05/16(水) 00:39:31
Notの場合にtrueだなんて
関数作成者の良識を疑う。
12デフォルトの名無しさん:2007/05/16(水) 00:55:01
function isNotNaN(number) {
return ! isNaN(number);
}
13デフォルトの名無しさん:2007/05/16(水) 01:10:50
「NaN」と「何」をかけた高度な修辞法だな
14デフォルトの名無しさん:2007/05/16(水) 10:38:50
Cにもisnanがあるぞ。
15デフォルトの名無しさん:2007/05/16(水) 13:23:04
>>1
if (a == 0)

if (a === 0)
の違いを知らなそうだ。
16デフォルトの名無しさん:2007/05/16(水) 13:32:57
伊豆南

>>15
「===」?
17デフォルトの名無しさん:2007/05/16(水) 16:53:17
>>16
JavaScriptの比較演算子の一種
18デフォルトの名無しさん:2007/05/16(水) 17:11:40
>>17
産休。へー JavaScript ってそんなもんがあったのか。
19デフォルトの名無しさん:2007/05/16(水) 19:39:54
ID (===、!==)

これらの演算子は、等価演算子と同様の比較を行います。ただし、データ型の
変換は行われず、同じデータ型でないと等しいとは評価されません。
20デフォルトの名無しさん:2007/05/16(水) 22:51:52
if ( 5 == "5" ) ← TRUE
if ( 5 === "5" ) ← FALSE

if ( undefined == null ) ← TRUE
if ( undefined === null ) ← FALSE

if ( "ABCDE" == new String("ABCDE") ) ← TRUE
if ( "ABCDE" === new String("ABCDE") ) ← FALSE

こんな感じだな。
21デフォルトの名無しさん
http://pc11.2ch.net/test/read.cgi/jisaku/1179911252/
上記スレで強制NaNの計算でインテル不利にするベンチが論争を呼んでますが
極端にAMD不利にする方法を探しています。
では。