Dart所有的東西都是對象, 即使是數字numbers、函數function、null也都是對象,所有的對象都繼承自Object類。
Dart動態類型語言, 盡量給變量定義一個類型,會更安全,沒有顯示定義類型的變量在 debug 模式下會類型會是 dynamic(動態的)。
Dart 在 running 之前解析你的所有代碼,指定數據類型和編譯時的常量,可以提高運行速度。
Dart中的類和接口是統一的,類即接口,你可以繼承一個類,也可以實現一個類(接口),自然也包含了良好的面向對象和并發編程的支持。
Dart 提供了頂級函數(如:main())。
Dart 沒有 public、private、protected 這些關鍵字,變量名以"_"開頭意味著對它的 lib 是私有的。
沒有初始化的變量都會被賦予默認值 null。
final的值只能被設定一次。const 是一個編譯時的常量,可以通過 const 來創建常量值,var c=const[];,這里 c 還是一個變量,只是被賦值了一個常量值,它還是可以賦其它值。實例變量可以是 final,但不能是 const。
編程語言并不是孤立存在的,Dart也是這樣,他由語言規范、虛擬機、類庫和工具等組成:
SDK:SDK 包含 Dart VM、dart2js、Pub、庫和工具。
Dartium:內嵌 Dart VM 的 Chromium ,可以在瀏覽器中直接執行 dart 代碼。
Dart2js:將 Dart 代碼編譯為 JavaScript 的工具。
Dart Editor:基于 Eclipse 的全功能 IDE,并包含以上所有工具。支持代碼補全、代碼導航、快速修正、重構、調試等功能。
關鍵字(56個)
abstract,do,import,super,as,dynamic,in,switch,assert,else,interface,sync*,enum,implements,is,this,async*,export,library,throw,await,external,mixin,true,break,extends,new,try,case,factory,null,typedef,catch,false,operator,var,class,final,part,void,const,finally,rethrow,while,continue,for,return,with,covariant,get,set,yield*,default,if,static,deferred