Как уже отмечалось, вы могли бы использовать Object.assign
, но помните, что он присваивает все из (собственных, перечислимых) свойств возвращаемого объекта по foo
.
Чтобы избежать этого, вы можете использовать деструктуризацию:
const {x, y} = foo(arg);
this.x = x;
this.y = y;
Это не приносит вам много пользы, но ...
Вы можете комбинировать подходы:
const {x, y} = foo(arg);
Object.assign(this, {x, y});
... ценой (в теории) временного размещения объектов. (Я говорю «в теории», поскольку движок JavaScript может оптимизировать его. Но я не знаю, как это будет.)
Именно для таких ситуаций было выдвинуто это предложение. . К сожалению, это не получило никакой связи с комитетом. Если бы это предложение было реализовано, вы могли бы сделать это:
// NOT STANDARD JAVASCRIPT (the proposal hasn't even been accepted for Stage 0)
this.{x, y} = foo(arg);
Мы сами разработали арифметическую библиотеку Java IPv4. См. Здесь: http://tufar.com/ipcalculator/ Это под лицензией BSD.
org.apache.lenya.ac. IPRange, кажется, имеет эти функции.
Apache проект Lenya является системой управления контентом с открытым исходным кодом. Это использует лицензию Apache, таким образом, Вы можете снова использовать просто код, Вам нужно. (Но как всегда, прочитайте лицензию сами; не доверяйте юридической консультации от некоторого парня в Интернете!:-)