Объекты (ООП)

В JavaScript нет ООП, но его можно сымитировать.

1-ый способ

var sayHello = (function (sayTo) {
    this.to = sayTo;

    sayHello.prototype.hi = function() {
        return "Hello " + this.to;
    }
});

var world = new sayHello("World");
world.hi(); // Hello World

2-ой способ: библиотеки

Для более привычного написания ООП можно использовать библиотеки CoffeeScript или TypeScript.

3-ий способ: ES 5

В ES 5 появилась конструкция class, которая позволяет создавать ООП в привычном синтаксисе.

class Lang {

    constructor(name) {
        this.name = name;
    }

    getName() {
        return this.name;
    }

}

let lang = new Lang("JavaScript");
lang.getName(); // JavaScript