2015-07-26 5 views
3

Я делаю простой тест Object.assign как в IO.js, так и в Node.JS, но вызывает ошибку.Настройка узла для использования Object.assign

/Users/lp/.nvm/versions/io.js/v2.4.0/bin/iojs --debug-brk=59842 --nolazy mixin.js 
Debugger listening on port 59842 
/Users/lp/Documents/code/test/mixin.js:11 
line = Object.assign(line, depth); 
      ^
TypeError: Object.assign is not a function 

Heres код:

var line = { 
    x: 0, 
    y: 0 
}; 

var depth = { 
    z: 0 
}; 

line = Object.assign(line, depth); 

Я попытался Узел v0.12.7 с --harmony и IO.js V2.4.0. Из того, что я читаю, ES6 следует поддерживать. Является ли назначение не поддержанным или я что-то упускаю?

+2

У вас есть конкретная ссылка на то, что вы читали? https://kangax.github.io/compat-table/es6/ - лучшее место для поиска прямо сейчас, и он говорит, что 'Object.assign' не поддерживается на iojs и node. Однако достаточно легко загрузить полипол. – loganfsmyth

+0

@loganfsmyth Ничего себе, это действительно хорошая рекомендация. Я не знал, что реализация сильно изменилась. Я пойду с полифоном. Благодаря! – longplay

+0

@loganfsmyth Если вы хотите, я выберу. – longplay

ответ

7

http://kangax.github.io/compat-table/es6 - это лучшее место для поиска прямо сейчас, и он говорит, что Object.assign не поддерживается на iojs и узле. Однако достаточно легко загрузить полипол.

Спецификация ES6 была окончательно оформлена в прошлом месяце, она даже не может быть полностью реализована на всех платформах. Вы должны планировать полагаться на полисы и транспилеры, такие как Babel и Traceur, если вы хотите использовать большие части ES6 на существующих платформах.

+0

Начиная с Node.JS 4, поддерживается Object.assign! –