ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの弱い型とはどういう意味ですか?
JavaScript における弱い型付けとは、データ型を無視でき、変数にさまざまなデータ型の値を割り当てることができることを意味します。 JavaScript は弱い型指定の言語であり、変数の型の暗黙的な変換や強制的な型変換などが可能です。たとえば、文字列や値は自動的に変換できますが、強く型指定された言語では通常これが許可されません。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
厳密に型指定された言語:
データ型定義を強制する言語。つまり、変数に特定のデータ型が割り当てられると、キャストされない限り、常にそのデータ型になります。たとえば、整数変数 a を定義した場合、プログラムは a を文字列型として扱うことはできません。強く型指定された定義言語は、タイプセーフな言語です。
弱い型指定言語:
データ型を無視できる言語。これは、変数にさまざまなデータ型の値を割り当てることができる、厳密に型指定された定義言語の逆です。
弱い型指定言語では、変数の型の暗黙的な変換や強制的な型変換などが許可されます。たとえば、文字列と値は自動的に変換できますが、強い型指定言語では一般にこれが許可されません。
js の弱い型の具体化
一般的なルールとして、制約が強いほどエラーが発生しにくくなりますが、プログラムを書くときはさらに面倒です。 JavaScript では制約が比較的弱いため、この種のエラーが発生しやすくなります: 最も単純な例:
var a =200; var b ="1"; var c= a + b;
c は 201 であると予想されるかもしれませんが、実際には "2001" です。このエラーが発生します。強く型付けされた言語では、中心は決して表示されません。ただし、JavaScript にはこれらの制約がないため、数値型と文字列型を簡単に連結できます。
別の例は次のとおりです。
var a = '11'; a = a - ''; alert(typeof a);// -->number
"-" は、単項演算子 (負の値) または二項演算子 (減算演算) です。
インループ ステートメント(if、while)、Object オブジェクトは BOOLEAN 値から暗黙的に変換できます。
var obj = {name:'jack'} if(obj){ //do more }
見つけるのがさらに難しいのは、alert() 関数です。
String.prototype.fn = function(){return this}; var a = 'hello'; alert(typeof a.fn()); //-->object alert(a.fn()); //-->hello
これは現在のクラスのインスタンス オブジェクトとして理解できることがわかり、オブジェクトなので、typeof a.fn() は当然オブジェクトを返します。
キーは最後のalert(a.fn())です。a.fn()が返すものは明らかにオブジェクトですが、表示のために暗黙的に文字列「hello」に変換されます。
【関連する推奨事項: JavaScript 学習チュートリアル】
以上がJavaScriptの弱い型とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。