вторник, 6 июня 2017 г.

Sorax. 22. Цепные вызовы методов

// Применим цепные методы для работы со строкой



var string, newString;

string = "Sometimes the same is different";
newString = string
.replace("is", "is not")
.concat(" actually")
.toUpperCase()
.replace(/ /g, "\n")
.slice(10);

console.log(newString);
/*
THE
SAME
IS
NOT
DIFFERENT
ACTUALLY
*/

// Цепные методы можно применять при работе с объектами.
var Vec2 = function(x, y) {
this.x = x;
this.y = y;
}

// метод для сложения векторов
Vec2.prototype.add = function(vec) {
this.x += vec.x;
this.y += vec.y;
return this;
};

var world = {
gravity: new Vec2(0, 1),
speed: new Vec2(1, 3)
};

var object = {
position: new Vec2(10, 20),
speed: new Vec2(1, 3),
// обновление положения объекта
update: function(){
this.position
.add(this.speed)
.add(world.gravity)
}
};

console.log(object.position); // Object { x: 10, y: 20 }
object.update();
console.log(object.position); // Object { x: 11, y: 24 }

Комментариев нет:

Отправить комментарий