ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScript は強く型付けされていますか、それとも弱く型付けされていますか?

JavaScript は強く型付けされていますか、それとも弱く型付けされていますか?

青灯夜游
リリース: 2021-12-16 18:36:40
オリジナル
4191 人が閲覧しました

JavaScript は型付けが弱いです。 JavaScript はデータ型を無視できる言語であり、変数にさまざまなデータ型の値を割り当てることができます。 JavaScript では、変数の型の暗黙的な変換や強制的な型変換などが許可されています。たとえば、文字列と値は自動的に変換できますが、厳密に型指定された言語では通常これが許可されません。

JavaScript は強く型付けされていますか、それとも弱く型付けされていますか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

強い型定義言語と弱い型定義言語

1) 強い型定義言語:

データ型の定義を強制する言語。つまり、変数に特定のデータ型が割り当てられると、キャストされない限り、常にそのデータ型になります。たとえば、整数変数 a を定義した場合、プログラムは a を文字列型として扱うことはできません。強く型指定された定義言語は、タイプセーフな言語です。

2) 弱い型指定言語:

データ型を無視できる言語。これは、変数にさまざまなデータ型の値を割り当てることができる、厳密に型指定された定義言語の逆です。
強く型付けされた定義言語は、弱く型付けされた定義言語よりもわずかに遅い場合がありますが、強く型付けされた定義言語によってもたらされる厳密性により、多くのエラーを効果的に回避できます。さらに、「この言語が動的言語であるかどうか」と「この言語がタイプセーフであるかどうか」の間にはまったく関連性がありません。
例: 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);
ログイン後にコピー

JavaScript は強く型付けされていますか、それとも弱く型付けされていますか?

num="123";
alert(typeof num);
ログイン後にコピー

JavaScript は強く型付けされていますか、それとも弱く型付けされていますか?

 num=true;
alert(typeof num);
ログイン後にコピー

JavaScript は強く型付けされていますか、それとも弱く型付けされていますか?

 num= new Date();
alert(typeof num);
ログイン後にコピー

JavaScript は強く型付けされていますか、それとも弱く型付けされていますか?

【関連する推奨事項: JavaScript 学習チュートリアル]

以上がJavaScript は強く型付けされていますか、それとも弱く型付けされていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート