DartがJavaScriptよりかっこいい10の理由


DartはGoogleが発明した新しいプログラミング言語です.JavaScriptを1年以上使ってから、Dartに一目惚れしました.私は以前Javaをしていましたが、JSを使うときに新しいことをたくさん勉強しなければなりません.JavaScriptを深く研究しなければならないと言われています.そうしないと、コメントする資格がありません.私はJSの達人ではありませんが、プログラミング言語は勉強しやすく、理解しやすく、言語構造が合理的だと信じています.私も長い間JSと付き合っていますが、JSにはクールな機能がたくさんあることは知っていますが、私は毎日JSの問題を慎重に処理しなければなりません.これはよくありません.プログラミング言語はプログラマーに友好的で、プログラマーが言語を世話するのではありません.次にJavaScriptよりもDartの方が強いところを挙げますが、Dartに移った理由でもあります.フロントエンドフレームワークの共有1.Dartは1つの否定条件しかない JSではfalse,null,undefined,",0,NaNを否定条件として使用できます.たとえば、1 var   a = null ; 2 if (!a) { 3     // do 4 }
Dartではfalseだけが否定条件で、上のコードはこのように書かなければなりません.1 var   a = null ; 2 if (a != null ) { 3     // do 4 }
多くの否定条件も問題ありませんが、明らかにプログラムが複雑になり、読みにくくなり、さまざまな否定条件を学ぶ必要があります.2.Dart使用可能タイプ JS開発者は、タイプが柔軟性を低下させることを強調することが多い.OK、正しいかもしれません.しかし、柔軟性が多すぎると、ソフトウェアがクラッシュします.タイプを使用する必要がある場合があります.Dartでは、タイプチェックを有効にすることができます.フロントエンドフレームワークの共有  3.JSはDOMを解析するためのフレームワークが必要である JSの方法を見てみましょう.01 getElementsById() 02 getElementsByTagName() 03 getElementsByName() 04 getElementsByClassName() 05 querySelector() 06 querySelectorAll() 07 document.links 08 document.images 09 document.forms 10 document.scripts 11 formElement.elements 12 selectElement.options
強いですか?しかし、私たちはJQueryを持っています.DartはJQueryを勉強しました.2つの方法しかありません.1 elem.query( '#foo' ); 2 elem.queryAll( '.foo' );
4.クラスとインタフェース Java開発者がJSを書き始めたばかりの頃、彼らはいつもJSをJavaと同じように書いていました.彼らはクラスと構造関数を書くことができて、明らかにJSはこのように游んでいません.JSでは、何でもオブジェクトで、これはかっこいいように見えますが、それらのデザインモデルは役に立たないです.代わりにJavaScriptのデザインモードです.しかし、これは開発者に多くの困惑をもたらし、コードをめちゃくちゃにした.5.継承 JavaScriptでは、Dr.Rauschmayerブログ(http://www.2ality.com/2011/11/javascript-classes.html)の通りです.PrototypeとjQueryのフレームワークを使うこともできますし、継承のメカニズムを自分で実現することもできます.これで混乱し、継承という目標を達成するために、JSはいろいろなやり方があり、頭が痛いです.Dartには類という概念があるので、「extends」というキーワードもあります.すべては簡単です!6.グローバルネームスペース JSでは、グローバルレベルにある変数があれば、すべてのスクリプトがこの変数にアクセスできます.これは恐怖で、コードが混乱します.その後、Stoyan Stefanovs Book JavaScript Patterns(http://astore.amazon.de/neoteccde-21/detail/0596806752)、私のネーミングスペースはこれからきれいになりました.しかし、なぜこのような基本的な機能言語は持参できず、いわゆるパターンでこの問題を解決する必要があるのだろうか.フロントエンドフレームワークの共有  Dartのデフォルトは「library」の範囲で、publicと宣言されたものだけが外部にアクセスできます.これは簡単で、異なるスクリプトは相互に影響しません.7.Dartは並列対応 JSには本格的な並列はありません.jQueryを介して非同期リクエストを発行しても、スレッドが1つしか働いていません.HTML 5、webworkersでこの問題を解決することができます.Dartはパラレルをサポートし、Isolatesをサポートしています.これはErlangに似ています.1つのIsolateが失敗した場合、もう1つのIsolateはこのIsolateを再起動することができます.これはかっこいいのではないでしょうか.これにより、Dartはサーバ側のプログラミングに適しています.はい、Node.jsは知っていますが、Dartは生まれながらにしてこの機能をサポートしています.8.JSはforeachをサポートしていない JSでは、このように配列を巡ります.1 for   ( var   i = 0; i < elements.length; i++) { 2    // do something 3 }
オブジェクトを巡回することもできます1 for   (key in   elements) { 2    alert(elements[key]); 3 }
しかし、この方法はお勧めしません.このような遍歴方式で得られる結果は不確定なので、方法名など欲しくないものを手に入れることもできます.もちろん、jQueryはあなたの救いの星です!Dartの使用:1 for   (element in   elements) { 2    // do something 3 }
これほど簡単なものはないでしょう.9.奇妙な配列初期化 このコードを見てください.1 var   a1 = new   Array(1,2,3,4,5); 2 var   a2 = new   Array(5);
a 1は5つの要素を持つ配列である[1,2,3,4,5]a 2は5つの要素を持つ配列である[undefined,undefined,undefined,undefined,undefined]Dartがはっきりしている.1 List a1 = [1,2,3,4,5]; 2 List a2 = new   List(5);
10.undefinedとnull JSでは、この2つの値はほとんど交換できますが、そうではない場合もあり、頭が痛いです.Dartはnullしかありません.まとめ JSには多くの利点があり、いくつかの良いパターンがあります.しかし、今までJSができることやDartができないことは何も見つかりませんでした.Dartは明らかに優雅で、読みやすい(私にとって).JSマニアの中にはJSがいいと思っている人もいるかもしれませんが、理解できます.