相違点: 1. C は静的言語ですが、JavaScript は動的言語です; 2. C はコンパイル言語ですが、JavaScript はインタープリタ言語です; 3. C にはポインタがありますが、JavaScript にはポインタがありません。 4. JavaScript は関数型プログラミング言語ですが、C は関数型プログラミング言語ではありません。
このチュートリアルの動作環境: Windows7 システム、javascript1.8.5&&C バージョン 17、Dell G3 コンピューター。
1. C は静的言語であり、js は動的言語です。
違いは次のとおりです。
静的言語:
型検出は非実行時にも行うことができ、検出は次のとおりです。ある程度はできましたが、論理的な誤りがいくつかあります。しかし、宣言が多すぎるとプログラムが冗長になります。
コードの作成を開始するときは、可用性の高い優れたプログラムの作成に役立つ、変数と計算のタイプを考慮する必要があります。
は、コンパイラのプロンプトだけでなく、コードを理解するのにも役立ちます。
問題: 柔軟性が不十分で、型を定義せずにプログラムを作成することは不可能です。
動的言語:
最大の利点はコードの単純さです。
非常に柔軟です。
問題: 実行速度が比較的遅いため、型チェックが必要です。最大の欠点は、実行しないとエラーを検出できないことです。
2. C はコンパイル言語であり、js はインタープリタ言語です。
C コンパイル プロセス: 前処理 -> コンパイルの最適化 -> アセンブリ -> リンク。
Js の解析機構: 前処理 (分割読み取りコードの前処理) ->解説と実行
3. C にはポインタがありますが、js にはポインタがありません。
C の代入では、すべての基本型が直接コピーされ、カスタム型はポインターの存在により、深いコピー (コピー) または浅いコピー (参照) を実行することを選択できます。 js では、すべての基本的な型の割り当てはコピーであり、他のすべての型の割り当ては参照です。
4. JS は関数型プログラミング言語ですが、C は関数型プログラミング言語ではありません。
Js は関数をオブジェクトとして扱い、関数(高階関数)の入力パラメータや出力値として利用できます。
C 関数を他の関数の入力パラメーターとして使用する場合、つまり高階関数を実装する場合は、関数ポインターを渡す必要があります (多くの場合、もう 1 つの (void *) 型パラメーターが必要です)関数のパラメータとして渡されます) )。
5. C の継承はクラスに基づいており、js の継承はプロトタイプに基づいています
C では、継承はクラスによって行われます。それは人々の直観的な思考により近いものです。同時に、クラスが生成された後は、その定義を変更しない限り、クラスを変更することはできません。 (Rubyのオープンクラスベースの継承は定義後にクラスの内容を任意に追加することができます)
jsではプロトタイプチェーンを通じて継承が行われます。定義後にプロトタイプチェーンを変更することも可能です。同時に、組み込み型のプロトタイプ チェーンを変更して、組み込み型を拡張することもできます (モンキー パッチを適用すると、組み込みオブジェクトが大幅に変更され、予測できない動作が発生する可能性があるため、使用には注意してください)。
[関連する推奨事項: JavaScript 学習チュートリアル]
以上がC++とJavaScriptの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。