Mocha、LiveScript、JScript、ECMAScript とも呼ばれる JavaScript は、世界で最も人気のあるプログラミング言語の 1 つです。事実上、世界中の誰もが少なくとも 1 つの JavaScript インタプリタを自分のコンピュータにインストールしており、広く使用されています。 JavaScript がこれほど人気がある理由は、JavaScript が World Wide Web 上でスクリプト言語として果たす役割のためです。
名前
接頭辞 Java のヒントにより、人々は常に JavaScript を Java と関連付け、JavaScript が Java のサブセットであるか、JavaScript であると考えます。 Java よりも機能が劣るバージョン。 JavaScript という名前は混乱を招くことを意図しているようで、この混乱がその後の誤解につながります。 JavaScript は Java として解釈されません。Java は Java です。 JavaScript は別のプログラミング言語です。
Java が C に似ているのと同様、JavaScript の構文も Java に似ています。ただし、Java が C のサブセットであるのと同様に、JavaScript は Java のサブセットではありません。アプリケーション内での JavaScript のパフォーマンスは、Java (Oak) が当初意図していたパフォーマンスよりも優れています。
JavaScript は、Java の発祥の地である Sun Microsystems ではなく、Netscape で開発されました。元々は LiveScript と呼ばれていましたが、その名前で人々があまり混乱することはありませんでした。接尾辞
Script のヒントは、JavaScript が本当の「プログラミング言語」ではないことを示しています。スクリプト言語としては、プログラミング言語との間にはまだギャップがあります。しかし、これはまさに専門的な問題です。 C 言語と比較すると、JavaScript はより豊かな表現力とダイナミクスと引き換えにパフォーマンスを犠牲にします。
C
JavaScript は、中かっこや巨大な for ステートメントなどの C に似た構文により、通常の手続き型言語のように見えます。 JavaScript は C や Java よりも Lisp や Scheme などの関数型言語との共通点が多いため、これは誤解を招きます。リストの代わりに配列を使用し、プロパティ リストの代わりにオブジェクトを使用します。関数は最初のタイプであり、関数はクロージャを持つことができます。匿名関数を使用するために、これらすべてのかっこのバランスを取る必要はありません。
言語入力
JavaScript はもともと Netscape Navigator 上で実行するように設計されました。その成功により、すべての Web ブラウザで事実上の標準になりました。その結果、言語タイプのステレオタイプ化が生じます。 JavaScript はプログラミング言語のジョージ・リーブスであると言えます。 JavaScript は、Web ページと関係のない多くのアプリケーションにも適しています。
(言語設計) 目標の変更
JavaScript の最初のバージョンは非常に弱かったです。例外処理、組み込み関数、継承が欠けています。現在の形式では、完全なオブジェクト指向プログラミング言語です。しかし、この言語に対する議論の多くは、その未熟な形式に基づいています。
言語の管理を担当する ECMA 委員会は拡張機能を開発しており、これは善意によるものですが、バージョンがますます増えているという、より大きな問題も悪化させています。そしてこれがさらなる混乱を引き起こしました。
設計エラー
完璧なプログラミング言語はありません。 JavaScript には、加算を表すオーバーロードや型変換による文字列連結など、独自の設計エラーもあるため、エラーが発生しやすい with ステートメントも避ける必要があります。予約語ポリシーが厳しすぎます。正規表現の表記法と同様に、セミコロンの埋め込みも大きな間違いです。これらのエラーはプログラミング エラーにつながる可能性があり、言語全体の設計に疑問を投げかけます。幸いなことに、これらの問題の多くは、非常に優れた lint プログラムで軽減できます。
この言語の全体的な設計は非常に健全です。驚くべきことに、ECMAScript 委員会はこれらのエラーを修正することに関心がないようです。おそらく、彼らは新しい言語を作成することにもっと興味があるのでしょう。 (注:これは作者の冗談であるはずです)。
貧弱な実装
JavaScript の初期の実装にはエラーがたくさんありました。これは言語にも反映されます。さらに悪いことに、これらの実装はさらにバグの多い Web ブラウザに埋め込まれていました。
悪い参考書
JavaScriptに関するほぼすべての本はかなりひどいです。間違い、不適切な例、役に立たない練習問題が満載です。この言語の重要な機能は十分に説明されていないか、完全に無視されています。私は JavaScript に関する多くの本を改訂してきましたが、私がお勧めするのは 1 冊だけです。『The Definitive Guide to JavaScript (Fifth Edition)』 - 著者: David Flanagan。 (著者注: 良い本を書いたら、無料の本を送ってください。)
無資格標準
JavaScript の公式仕様は ECMA によって公開されています。この公式仕様の品質はかなり低いです。そして、読んで理解するのが難しい。著者は標準のドキュメントを使用して言語の理解を向上させることができないため、これが悪質な書籍の問題の一因となっています。 ECMA と TC39 委員会は、これに非常に当惑し、動揺しているはずです。
アマチュア
JavaScript を使用する人の多くはプログラマーではありません。彼らには、良いプログラムを書くための専門性と訓練が欠けています。いずれにせよ、JavaScript は表現力が非常に豊かなので、JavaScript を使用して多くの意味のあることを行うことができます。これにより、JavaScript は完全にアマチュア向けに設計された言語であり、プロのプログラミングには適さないという評判が JavaScript に与えられました。実際にはそうではありません。
#オブジェクト指向
JavaScript はオブジェクト指向ですか?これにはオブジェクトがあり、そのオブジェクトにはデータとデータを処理するメソッドを含めることができます。オブジェクトには他のオブジェクトを含めることができます。これにはクラスはありませんが、クラス変数やメソッドのコンテナとして機能するなど、クラスのような操作を実行できるコンストラクターがあります。クラス指向の継承はありませんが、プロトタイプ指向の継承はあります。 オブジェクト システムを作成する主な方法は、継承による方法と集約による方法の 2 つです。 JavaScript には両方のメソッドがありますが、その動的な性質により、集約に基づいてさらに優れたものになります。 JavaScript は情報の隠蔽をサポート (提供) しないため、真のオブジェクト指向ではないと主張する人もいます。つまり、オブジェクトはプライベート変数やメソッドを持つことができません。すべてのメンバーはパブリックです。 しかし、JavaScript のオブジェクトがプライベート変数やプライベート メソッドを持つことができるという証拠があります。 (注: 元の記事では、著者がここにオブジェクトのプライベート変数とプライベート メソッドに関するドキュメントへのリンクを示しています) もちろん、JavaScript は世界で最も誤解されているプログラミング言語であるため、これを理解している人はほとんどいません。 (注: 著者はここで気楽な嘲笑の方法を使っています)。 JavaScript は継承をサポートしていないため、真のオブジェクト指向ではないと主張する人もいます。しかし、これは、JavaScript が従来の継承をサポートするだけでなく、他のコード再利用パターンも適用できることを証明しています。 (注: 元のテキストはまだここにリンクされています) Copyright 2001 Douglas Crockford。著作権はWrrldwideです。 [おすすめコース:JavaScript ビデオ チュートリアル ]
以上がJavaScript: 世界で最も誤解されている言語の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
