「javascript」JavaScript(Javaと混同しないでください)は、クライアント側とサーバー側の両方のスクリプトで使用される、高レベルで動的なマルチパラダイムの弱く型付けされた言語です。ECMAScript、JavaScript、JScriptなどの一般的な実装に関する質問には、このタグを使用します。JSは通常、そのECMA従兄弟であるActionScriptを参照しません。今後のWebコンポーネント仕様に対するFacebookのReactの主な利点は何ですか(逆もまた同様です)(または、リンゴ同士の比較はGoogleのPolymerライブラリとなるでしょう)。EUトークとReactホームページによると、Reactの主な利点は次のとおりです。この仮想DOMの概念(明らかに)を除き、ほとんどすべてのことはWebコンポーネントを介してネイティブにブラウザーに統合されています。ここに、Webコンポーネントが面倒を見てくれるReactが欠けていると思うものをいくつか紹介します。私が間違っている場合は修正してください。スクリプト言語でスクリプトを記述し、スタイル言語でスタイルを記述し、マークアップ言語でマークアップを記述します。代わりにReactにはこれがあり、JavaScriptでCSSを記述する必要があります。JavaScriptには、2つのセットの等値演算子があります:===と!==、およびそれらの邪悪な双子==と!=。良いものはあなたが期待する方法で動作します。2つのオペランドが同じ型で同じ値を持つ場合、を===生成しtrue、!==生成しfalseます。悪魔の双子は、オペランドが同じタイプの場合は正しいことをしますが、異なるタイプの場合、値を強制しようとします。彼らがそれを行うルールは複雑で記憶に残りません。推移性の欠如は憂慮すべきです。私のアドバイスは、邪悪な双子を決して使わないことです。let新しいvarです。明らかに唯一の違いは、現在のブロックにスコープされるのvarに対して、現在の関数にletスコープされるということです。varES6コードで使用する理由がわかりません。与えられた変数のスコープを関数全体にしたい場合でもlet、関数ブロックの先頭に宣言を置くことでそれを行うことができますvar。forブロックなどでより細かくスコープを設定する場合は、それも実行できます。私の本能は、varES6コードを書くときは完全に使用をやめることです。es66ES6で「let」と「const」をどれくらい使用する必要がありますか?最近、io.js用のES6コードをたくさん書いています。学ぶべきコードはそれほど多くないので、自分の慣習を定義しながら進めているように感じます。私の質問はどのような場合に使用する程度であるconst対let。私はこのルールを適用しています:可能であれば、を使用しますconst。let値を変更する必要があることがわかっている場合にのみ使用してください。この規則の主な理由は、一貫して簡単に適用できることです。灰色の領域はありません。問題は、このルールを適用すると、実際には宣言の95%がになるということですconst。これは私には奇妙に見えます。私は使用していますletのようなもののためにiではforループ、または時折(実際の生活の中で多くを起動しない)の累積フィボナッチ合計のようなもののために。これまでのES5コードの「変数」の95%は、変化しない値に対するものでした。const、コード全体を見ると、どうも間違っているように感じます。私の質問は次のとおりconstです。es61ネイティブのES6がbluebirdよりも遅く、より多くのメモリを消費するのはなぜですか?ではこのベンチマーク、スイートは、ブルーバード約束に比べES6の約束を完了するまでに4倍の時間がかかり、多くのメモリと3.6倍を使用しています。JavaScriptライブラリは、Cで記述されたv8のネイティブ実装よりもはるかに高速で軽量になります。Bluebirdのpromiseは、ネイティブのES6のpromiseとまったく同じAPIを備えています(さらに、多数の追加のユーティリティメソッド)。現在、政府の土地計画用のWebアプリケーションを開発しています。アプリケーションは主にブラウザで実行され、ajaxを使用してデータをロードおよび保存します。最初の開発をしてから卒業します(学生の仕事です)。この後、チームの残りのメンバーは、必要に応じて随時機能を追加します。彼らはコーディングの方法を知っていますが、大部分は土地計画の専門家です。future-proof15Java、Javascript、C#などのメモリ管理言語が「new」キーワードを保持しているのはなぜですか?newJava、Javascript、C#などの言語のキーワードは、クラスの新しいインスタンスを作成します。++から継承されているようです。newは、ヒープ上のクラスの新しいインスタンスを割り当て、新しいインスタンスへのポインターを返すために特に使用されます。++では、これがオブジェクトを構築する唯一の方法ではありません。使用せずにスタック上にオブジェクトを作成することもできます。++でより一般的です。++のバックグラウンドから来て、newJava、Javascript、C#のような言語のキーワードは、私にとって自然で明白なように思えました。それから、newキーワードのないPythonを学び始めました。Pythonでは、次のように、コンストラクターを呼び出すだけでインスタンスが構築されます。最初は、Pythonが持つ理由がないことに気付くまで、これは少しnew戸惑いました。すべてがオブジェクトであるため、さまざまなコンストラクタ構文を明確にする必要はありません。++ではnew、ヒープへの割り当てとスタックへの割り当てを区別する必要があるため、間違いなくが必要ですが、Javaではすべてのオブジェクトがヒープ上に構築されますnew。Javascriptについても同じ質問をすることができます。私があまり馴染みのないC#では、newオブジェクト型と値型を区別するという点で何らかの目的があると思いますが、よくわかりません。++の後に来た多くの言語は単にnewキーワードを「継承」しているように思えます-本当にそれを必要としません。それはほとんど痕跡のキーワードのようなものです。なんらかの理由でそれを必要としているようには見えませんが、まだあります。新しいアプリを作成しています。構造化されたログを含めたいと思います。私の理想的なセットアップはSerilog、C#コードとBunyanJSのようなものです。Bunyanのセットアップと開発者がそれを使用することに興味があり、もう少し時間をかけてfluentdと残りを取り込む間にMySQLにログインできます。logging3トランポリンが機能するのはなぜですか?私はいくつかの機能的なJavaScriptを実行しています。Optimizationが実装されたと思っていましたが、結局は間違っていました。したがって、私は自分でトランポリンを学ぶ必要がありました。ここや他の場所を少し読んだ後、基本を理解し、最初のトランポリンを作成することができました。ValidatorのようなJavaScript準拠のWebページをテストする方法を探していたときに始まりました。Scriptを見つけました。これらの人々はスクリプト言語を標準化しており(JavaScriptをもう呼び出す気はありません!)、それをECMA-262(Wikipedia)と呼びました。リンクWikipediaのページには、方言に言及しています。])およびその他多くの方言としてリストされています。ecmascript6不変性はJavaScriptのパフォーマンスを低下させますか?JavaScriptでは、データ構造を不変として扱う最近の傾向があるようです。オブジェクトの単一のプロパティを変更する必要がある場合は、新しいプロパティを使用して新しいオブジェクト全体を作成し、古いオブジェクトから他のすべてのプロパティをコピーして、古いオブジェクトをガベージコレクトしてください。(とにかく私の理解です。私の最初の反応は、パフォーマンスに悪いように聞こえます。Immutable.jsやRedux.jsのようなライブラリは、私よりも賢い人によって書かれており、パフォーマンスに強い関心を持っているようです。そのため、ガベージ(およびパフォーマンスへの影響)の理解が間違っているのではないかと思います。その質問のサブテキストは次のとおりです。この質問をするために、JavaScriptを有効にせずにProgrammers.stackexchange.comを呼び出しました。ExchangeはJavaScriptを有効にした場合に最適に動作します」というメッセージを受け取りました。サイトは一般的には正常に機能しているように見えましたが、ログインするのは困難でした。(質問に投票することができませんでした。これは開発に対する満足のいくアプローチだと思います。サイトのすべての機能を、従来の単純なHTMLおよびサーバー側のロジックで動作させるための労力を想像してください。一方で、このアプローチによって疎外されているユーザーの数は疑問です。プログレッシブエンハンスメントを使用し、Webアプリケーションの動的機能が確実に低下するように、私たち全員(少なくとも私たちの中の優秀な開発者)は訓練されています。JavaScriptおよびJQueryコーディングの経験は限られています。HTMLページに各ビットとスニペットを追加しましたが、ほとんどの場合、サーバー側のものを他の言語でコーディングしました。2つのアプローチのいずれかを使用して理論的に同じことを行うことができます(もちろん、同じプロジェクトでそれらを混ぜることもできます)が、最初から常にJQueryを使用し始める傾向があるようですプロジェクトが要求するものは何でもありません。「明確な答えはありません」または「永遠に議論できる」と言うことができるので、これは非質問のように見えますが、実際には「あなたはこれを行うことができます」などの時間通りの答えを望んでいます1つのアプローチであり、他のアプローチではできません」。scrwtpのコメントにあるように、私は単にDOM処理の部分に言及しているわけではありません。私の質問はむしろ:JQueryはライブラリです。Javascriptの場合。他の言語の他のライブラリとは対照的に、このライブラリについて私が奇妙に感じるのは、JQyeryの場合、それを排他的に使用できるように設計されており、Javascriptに直接触れる必要がないことです。これはHibernateとSQLとは対照的です。ライブラリ(またはこの場合はフレームワークですが、類似性はまだ当てはまると思います)が多くの側面を処理しますが、それを使用するときはSQLを使用できます。少なくとも一部のフリンジケースでは。JQueryとJavascriptの場合、JQueryのみを使用してJavascriptで行うことができます(少なくとも、私にはそう思われます)。Stargazer712のコメントによると:はい、私はあなたに同意します。ここでの質問は、「JavaScriptをどのように使用するかという問題」です。それは私が実際に尋ねることに成功していたことですが、私はいくつかの悪い処方をしました。1つの例えは次のとおりです。これはJavaライブラリです。Javaなしで使用することはできません。Javaに基づいており、Javaを使用するために必要なことはすべて実行できます。ELの式言語を使用してすべてのコードを記述し、コードを事実上Javaに似せないようにします。これを使用する場合の強力な型の強制)。ELがJavaで持っているのと同じ効果があるようです。プロジェクト全体でそのAPIのみを使用し、JavaScriptのAPIを避けることができます。それが良いことなのか、落とし穴などなのかと思っていました。