Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.97.248] |
|
Сообщ.
#1
,
|
|
|
Есть базовый "класс" Editor.
От него наследуется некий UserEditor. Нужно создать объект с тем же названием - UserEditor. Сейчас сделано так: function Editor() { // properties... this.prop = {}; } Editor.prototype.foo = function() { // ... } Editor.prototype.boo = function() { // ... } function UserEditor() {} UserEditor.prototype = Object.create(Editor.prototype); UserEditor.prototype.zoo = function() { // ... } var UserEditor = new UserEditor(); Есть более легальный и элегантный способ? |
Сообщ.
#2
,
|
|
|
Цитата Нужно создать объект с тем же названием - UserEditor. Цитата var UserEditor = new UserEditor(); Цитата Есть более легальный и элегантный способ? Ну, если не нравится чесать правое ухо правой рукой, можешь попробовать почесать левой пяткой. А вообще мой миелофон подсказывает, что ты неправильно поставил задачу. |
Сообщ.
#3
,
|
|
|
Оу, на дворе 2016ый год, что тебе мешает написать:
class Editor { constructor() { console.log(42); } } class UserEditor extends Editor { constructor() { super(); console.log(this.constructor.name); } } new UserEditor(); https://jsbin.com/medafewobi/1/edit?js,console |
Сообщ.
#4
,
|
|
|
Цитата Serafim @ Оу, на дворе 2016ый год, что тебе мешает написать: Поддержка со стороны браузеров мб? |
Сообщ.
#5
,
|
|
|
Цитата AZote @ Поддержка со стороны браузеров мб? http://kangax.github.io/compat-table/es6/ 99% и полифиллится бабелом чуть ли не до ие7. Или ты хочешь сказать, что фейсбук - это не аргумент? |