ホームページ > 記事 > ウェブフロントエンド > JavaScript は強く型付けされていますか、それとも弱く型付けされていますか?
JavaScript は型付けが弱いです。 JavaScript はデータ型を無視できる言語であり、変数にさまざまなデータ型の値を割り当てることができます。 JavaScript では、変数の型の暗黙的な変換や強制的な型変換などが許可されています。たとえば、文字列と値は自動的に変換できますが、厳密に型指定された言語では通常これが許可されません。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
データ型の定義を強制する言語。つまり、変数に特定のデータ型が割り当てられると、キャストされない限り、常にそのデータ型になります。たとえば、整数変数 a を定義した場合、プログラムは a を文字列型として扱うことはできません。強く型指定された定義言語は、タイプセーフな言語です。
データ型を無視できる言語。これは、変数にさまざまなデータ型の値を割り当てることができる、厳密に型指定された定義言語の逆です。
強く型付けされた定義言語は、弱く型付けされた定義言語よりもわずかに遅い場合がありますが、強く型付けされた定義言語によってもたらされる厳密性により、多くのエラーを効果的に回避できます。さらに、「この言語が動的言語であるかどうか」と「この言語がタイプセーフであるかどうか」の間にはまったく関連性がありません。
例: Python は動的言語、強く型指定された定義言語 (タイプセーフ言語)、VBScript は動的言語、弱く型指定された定義言語 (タイプアンセーフ言語)、JAVA は静的言語、強く型付けされた定義言語 (タイプセーフ言語)。
さまざまな言語タイプの説明については、http://blog.csdn.net/aiming66/article/details/78570784#t3 を参照してください。
これを理解した後、JavaScript の型指定が弱い理由について説明します。 。考えた結果、コードで説明してみようと思いました。おそらくこれはより単純です。
<!DOCTYPE html> <html> <head> <title>js练习</title> <style type="text/css"> </style> <script type="text/javascript"> var num=0; alert(typeof num); num="123"; alert(typeof num); num=true; alert(typeof num); num= new Date(); alert(typeof num); </script> </head> </html>
その中から、以下のコードについて説明します。次のコード行を下の図に示します。最初に var 型の変数 num を 1 つだけ作成したことはわかりませんが、それには数値型、文字列、ブール型、オブジェクトなどのさまざまな型を割り当てることができます。 type 、このことから、JavaScript は弱い型指定言語であると推測できます。
JavaScript の変数には、さまざまなデータ型の値を割り当てることができます。変数の型の暗黙的な変換や強制的な型変換などが可能です。たとえば、文字列と値は自動的に変換されますが、強力な型付き言語では通常、これを許可しません。
var num=0; alert(typeof num);
num="123"; alert(typeof num);
num=true; alert(typeof num);
num= new Date(); alert(typeof num);
【関連する推奨事項: JavaScript 学習チュートリアル]
以上がJavaScript は強く型付けされていますか、それとも弱く型付けされていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。