Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Эмулятор классов на JavaScript (https://javascript.ru/forum/project/51103-ehmulyator-klassov-na-javascript.html)

yriiarutiunian 24.10.2014 10:54

Эмулятор классов на JavaScript
 
Как создать человечество на JavaScript?

Привет всем поклонникам этого замечательного языка программирования! А ненавистники его-трепещите=) Как нам известно JavaScript - неклассический язык, и одна из причин по которой он не понравился многим программистам заключается в том, что он пытался выдать себя за то, чем он на самом деле не является, но JavaScript - объектно-ориентированный язык, в нем есть наследование, в нем есть объекты. Однако механизм несколько отличается от других классических языков программирования, и как следствие это очень не очевидно!

Я попытался приблизить способы описания классов и создания объектов к более привычному виду. Функционал еще достаточно сырой и реализован от силы на 2% =). Хочу узнать, что Вы думаете о данном подходе программирования на JS.

Исходный код и пример использования: https://github.com/yriiarutiunian/fprog

В примере Вы можете создавать неограниченное число людей - мужчин и женщин. Менять их характер, растить, наследовать положительные и отрицательные черты. А также проверить совместимость конкретных женщины и мужчины по критерию отношения зарплаты мужчины к размеру груди женщины =)

P.S: Описания классов у меня хранятся в строковых переменных. На самом деле конечно же классы будут храниться объектом в отдельных файлах.

kobezzza 24.10.2014 12:00

Хватит придумывать велосипеды!
В JS добавили сахарный синтаксис для классов, тема закрыта.

class Foo {
    constructor() {
    }
}

class Bar extends Foo {
    constructor() {
    }
}


Чтобы не дожидаться полной поддержки всех браузеров используй транслятор, например, https://github.com/termi/es6-transpiler.

nerv_ 24.10.2014 13:20

Цитата:

Сообщение от kobezzza
Хватит придумывать велосипеды!
В JS добавили сахарный синтаксис для классов, тема закрыта.

именно это мы и думаем :)

Safort 24.10.2014 19:26

kobezzza,
Цитата:

В JS добавили сахарный синтаксис для классов, тема закрыта.
Пришёл сюда, что бы написать это)


Цитата:

используй транслятор, например, https://github.com/termi/es6-transpiler.
Годный транслятор, но такой придирчивый к коду)

terminator-101 24.10.2014 21:26

Цитата:

Сообщение от yriiarutiunian
В примере Вы можете создавать неограниченное число людей - мужчин и женщин. Менять их характер, растить, наследовать положительные и отрицательные черты. А также проверить совместимость конкретных женщины и мужчины по критерию отношения зарплаты мужчины к размеру груди женщины =)

А без твоего велосипда такое делать типо нельзя?

А классы в JS есть. Сраного сахара только для них нет. Это лексические замыкания. Только хорошего в этом ничего нет. Быдло-ООП ненужно. В JS Ъ-ООП в стиле смоллтока и селфа. Чтобы создать что-то *лучше* надо быть, как минимум умней Алана Кея. А страусы и трупы сосут. А проблема, как ты правильно заметил, что это тру непонятно для плюсового и жабообразного быдла, которое ломится в JS. Реши лучше эту проблему, начни с себя.


Часовой пояс GMT +3, время: 17:12.