Я изучаю ES6 несколько функций. Для проверки того, что доступно и где я использую:ES6 Поддержка функций карты - слишком большая поддержка в IE11?
http://kangax.github.io/compat-table/es6/
Чтобы играть вокруг я использую Бабеля:
При изучении Map
, таблица совместимости говорит, что
конструктор аргументы не поддерживаются в IE11
Но я скопировал образец кода:
var result = function() {
var key1 = {};
var key2 = {};
var map = new Map([[key1, 123], [key2, 456]]);
return map.has(key1) && map.get(key1) === 123 &&
map.has(key2) && map.get(key2) === 456;
}();
console.log(result);
выполнил его в IE11 и к моему удивлению, результат правда. true был как в Babel (хотя Babel не генерировал никакого кода), а также в консоли IE 11.
Почему?
Спасибо. Я проверил его здесь, и вы правы. Но все же, если я открою страницу Вавилона и запустим ее в многострочном режиме, результат будет правдой. Значит, это означает, что Бабель использует прокладку. Совершенно ошибочно – dragonfly
@dragonfly: Ну, REPL призван дать вам быструю среду для тестирования того, что вы получите, если перейдете с Babel. Но я должен сказать, что я не совсем уверен, что они делают, чтобы заставить его работать; см. обновление в конце ответа ... :-) –
Вавилон действительно полиполняет это. '[Машинный код]' спорный предмет, но 'ядро-js' в данный момент делает это, чтобы сделать вещи выглядеть родным, если у них есть родное поведение. – loganfsmyth