2
我可以說兩個遊戲項目:動物園1和動物園2.兩個都有一個名爲動物的類。爲了避免兩個具有相同名稱的類之間的衝突,我將它們包裝在函數中。 Dart如何處理這種情況?通過包或庫?一個用作命名空間的主類?如果是這樣,那麼它如何將它們轉換爲JavaScript?Google Dart在轉換爲JavaScript時如何處理命名空間/包?
我可以說兩個遊戲項目:動物園1和動物園2.兩個都有一個名爲動物的類。爲了避免兩個具有相同名稱的類之間的衝突,我將它們包裝在函數中。 Dart如何處理這種情況?通過包或庫?一個用作命名空間的主類?如果是這樣,那麼它如何將它們轉換爲JavaScript?Google Dart在轉換爲JavaScript時如何處理命名空間/包?
Dart沒有名稱空間。您可以使用進口的前綴爲
import 'package:zoo1/zoo1.dart' as zoo1;
import 'package:zoo2/zoo2.dart' as zoo2;
main() {
print(new zoo1.Animal());
print(new zoo2.Animal());
}
,如果你想同時導入,您還可以使用前綴只針對這些
import 'package:zoo1/zoo1.dart';
import 'package:zoo2/zoo2.dart' as zoo2;
main() {
print(new Animal());
print(new zoo2.Animal());
}
之一,但只希望使用從zoo2
Animal
那麼你可以隱藏一個
import 'package:zoo1/zoo1.dart' hide Animal;
import 'package:zoo2/zoo2.dart';
main() {
print(new Animal()); // uses Animal from zoo2
}
我假設對於JS他們總是使用一些前綴來消除歧義。
啊!所以它們以給出的名稱作爲前綴:class zoo2_zoo2。說得通。飛鏢可能是有史以來使用過的最好的語言。這是迄今爲止最清潔的。最好從Java,C#和JavaScript。你認爲谷歌會不會重新考慮將其整合到鉻?我猜js單一文化是牢不可破的。 – Asperger
不,瀏覽器中的Dart虛擬機不會發生,但Dart-to-JS會不斷改進。瀏覽器中的JS在優化x-to-JS代碼方面會變得更好。像類,Promise等ES6功能已經改進,並且可以在所有瀏覽器中都可用時使用。恕我直言,大多數人認爲它是一個優勢,因爲在瀏覽器中使用Dart虛擬機會使它進一步演化語言非常繁瑣。 –
我想知道什麼飛鏢會變得流行 – Asperger