あなたはまだJavaScriptが好きではありませんか?

HTML5時代の始まり以来、市場には多数のJavaScriptプログラマーが必要でした。 他の言語の多くの専門家は、大量のJavaScriptを使用するようになりました。 私は、経験豊富なプログラマーが、原則を理解せずに、これを最も柔軟で強力な言語の1つとしてoldったことを何度も見てきました。 この記事では、JavaScriptの本質と哲学を説明しようとします。 コードは4行だけで、教科書には書かれていない多くの多くのものがあります。 私はあなたがこの言語を愛するか、少なくともより効果的になることを約束します。 さあ、行こう!



次に、言語の主な機能とその結果を検討します。 たとえば、JavaScriptのエントリしきい値非常に低くなっています。 C ++またはJavaに精通している場合は、会議の15分後に既にプログラミングを開始できます。 ただし、専門的なことを行うには、ドキュメント、JavaScriptパターンに関する本を読み、経験豊富な同僚とコミュニケーションをとる必要があります。 もちろん、ほとんどの「太鼓腹で由緒あるプログラミングのジェダイ」は、これを行わず言語そのものをscります。 エントリーのしきい値が高ければもっと良いでしょうか? 私はそうは思わない(ただし、批判は少なくなるだろう)。 同意します。すでに実行可能なコードを作成できる場合は、ニュアンスを理解するのがはるかに簡単です。



JavaScriptはマルチパラダイム言語です。 オブジェクト指向のアプローチと機能的なアプローチを組み合わせています。 構造プログラミングなども利用できます。 これは、言語の柔軟性が最も高いためです。 関数は第1種のオブジェクトであり、変数は型を変更でき、オブジェクトはその場で新しいプロパティを受け取ることができます。 それは良いですか悪いですか? 一方では、JavaやC#などの特定の言語に慣れているプログラマーが理解するのに問題が発生します。 しかし、これは効率のためのわずかな費用です。 ほとんどの場合、JavaScriptを使用すると、厳密に入力する仲間よりもはるかに高速にアプリケーションを作成できます。 例を挙げましょう。私は証券取引所ターミナルを開発している会社で働いていました。 .Net C#でデスクトップアプリケーションを作成し、Web上でその正確なコピーをJavaScriptで作成する必要がありました。 C#アプリケーションは、2年間で12人のプログラマーのチーム、JavaScript-1年で3人のプログラマーのチームによって開発されました。 資格の違いについて話すことができます。他の要因が影響している可能性がありますが、何らかの形で、その違いは8倍を示しています。



どのようにしてこのような開発速度を達成できましたか? ほとんどの言語は、おそらく私たち自身の利益のために制限を設定します。 JavaScriptは制限を認識しません 。他の人のコードに柔軟にパッチを適用するなど、いつでもどこでもコードを変更できます。 プログラミング言語を政治システムと比較すると、VBAと言うと、これは全体主義です。あなたは堅固な枠組みに置かれ、すべてのソースさえ見ることさえできません。 C ++は民主主義です。腕を振る自由は、対話者の鼻が始まるところから終わります。 これは、共通の利益のために個人の自由を制限する、優れた強力なプログラミング言語です。 JavaScriptは無秩序であり、あなたは何でも変更でき、誰もあなたを煩わせず、あなたの自由を制限しません。 問題は、誰もが完全に自由に生活できるわけではないということです。 たとえ何かを持っていなくても、隣人からトラクターを盗まないために、高い内部文化が必要です。 コードの同じこと、たとえばJavaScriptの一般的なプラクティスは、プライベートプロパティを本当にプライベートにしないことです。 通常の(パブリック)プロパティが作成され、名前にアンダースコアが追加されます。 他のプログラマはこれを見て、特別な必要なしにこのプロパティを使用しないと信じられています。 プライベートプロパティの値を設定したり、値を変更したりすることが最も直接的で正しい方法である場合があります。 はい、どこにも例外があり、JavaScriptを使用して例外を作成できます。 そのような場合、プログラマは他の誰かのコードを理解し、その結果に対して責任を負います。 「彼はすべてを壊すことができる!?」-他の言語の支持者はinしている。 これは次の段落です。



JavaScriptには絶対確実な機能はありません 。 私たちは、コードに取り組むすべての人が専門家であり、彼らを信頼すると信じています。 (一時停止)優れたJavaScriptチームでは、すべてのプログラマーが同じレベルにいます。 低くても高くてもかまいませんが、あまり違わないでください。 誰もが盗む国で、正直な人が困難な時間を過ごすか、まともな人の社会で、悪役はすぐに彼が値するものを手に入れるので、アナキストで制御されていないJavaScriptでは、後輩はジェダイのコードを破り、ジェダイは完全に理解できないジュニア(ただし、専門家であれば理解できる)のアーキテクチャの動きにより、意図せずに生産性が低下します。 言語で安全にプレイする必要がありますか、それとも適切な人を採用する方が良いでしょうか? JavaScriptを「バグ」および「非合理性」と呼ぶものを批判する人もいます。 例:



'3' - 2 === 1;
'3' + 2 === '32';

      
      







, - . , JavaScript, . 10 . , :



Math.max(2, []);
Math.max(2, {});

      
      







, 2, NaN (Not a Number). ? , JavaScript , — . C++ . , , .



— JavaScript . , — . , , , JavaScript Infinity , , , . ? , . . , NaN undefined, , , Windows ( ). , . - — , . , , NaN, null, undefined, .



JavaScript — . , , , . , - , , - — , , .… , , , , , . , , . , . , enterprise- — 20 . — , C++ . JavaScript, .



, JavaScript , , . , , . , . , JavaScript , . , , . , .



, JavaScript, . , : ? : , , , . ? , . , — . JavaScript, — , , . , , , . JavaScript .



, JavaScript: , Java C#. , , JavaScript . , . . , — , .



All Articles