Несколько примеров отсюда:
http://synonym.dartlang.org/
console.log('Level completed.'); → print('Level completed.');
Зачем? Ну то ладно.
Якобы ничего → final name = 'Bob';
Есть, ведь, const. Разница лишь в том, что второй бросает исключение, если мы попытаемся присвоить другое значение уже инициализированной константе.
new Array(); → new List();
a.push('donut'); → a.add('donut');
Зачем?
a.pop() → a.removeLast()
Да, это выглядит несколько логичнее, но, опять же, зачем?
numbers.sort(function(a, b) {
return a - b;
});
→
numbers.sort((a, b) => a - b);
Молодцы, конечно, но это есть в ES (не помню, какой версии). Запилите, вместо того, чтоб херней страдать.
new Object(); → new Map();
Тот же вопрос.
var periodic = {
gold: 'AU',
silver: 'AG'
};
var periodic = {
'gold': 'AU',
'silver': 'AG'
};
→
var periodic = {
'gold' : 'AU',
'silver' : 'AG'
};
Идиотизм.
periodic.gold // == 'AU'
periodic['gold'] // == 'AU'
→
periodic['gold']
Не меньший идиотизм. Вообще нифига не удобно.
Якобы ничего → var fruits = new Set();
Set есть в ES, его поддерживает FF, он же легко реализуется ручками.
var queue = []; → var queue = new Queue();
И че это? Оптимизированные списки типа как в Прологе?
...
Тут еще масса негодования.
Дарт масдай. ES должен развиваться и реализовываться в Хроме, там и остальные потянутся (мелкософт, если мне не изменяет память, обосрала Дарт и не будет его поддерживать).