18.08.2015, 12:54
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Цитата:
|
2. Разве это прописано в стандарте? Под "это" подразумеваю:
- обязательность вызова супер в ребенке в принципе
- обязательность вызова супер до работы с this в ребенке
|
Обязательность вызова super вообще - нет, обязательность вызова до записи в this - да. В стандарте сейчас пруф не смог найти, но дело в том, что объект создается в момент вызова самого глубокого конструктора в иерархии (чтобы, в частности, возможно было наследовать от встроенных классов, создающих экзотические объекты); соответственно, до вызова super (если он вообще есть) this попросту еще не существует.
|
|
21.08.2015, 10:08
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от Erolast
|
что объект создается в момент вызова самого глубокого конструктора в иерархии
|
не согласен. Объект создается в момент вызова конструктора верхнего уровня, и уже после этого на него применяются изменения вглубь дерева наследования (level_1 -> level_2 -> level_3) по средствам вызова super()
а то, о чем ты сказал делает цепочка прототипов
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
21.08.2015, 22:04
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
http://www.2ality.com/2015/02/es6-cl...structor_calls
Цитата:
|
In a derived class, you must call super() before you can use this.
Implicitly leaving a derived constructor without calling super() also causes an error.
|
http://www.2ality.com/2015/02/es6-cl...tanc e_object
Цитата:
|
In ES6, it [an instance] is created in the base constructor, the last in a chain of constructor calls.
this originally being uninitialized in derived constructors means that an error is thrown if they access this in any way before they have called super().
If a constructor returns implicitly (without a return statement), the result is this. If this is uninitialized, a ReferenceError is thrown. This protects you against forgetting to call super().
|
Да, так что я попутал - не вызывать super в ребенке тоже нельзя.
---
Посредством. По средствам только живут.
Этому форуму жутко не хватает тега hr, да.
Последний раз редактировалось Erolast, 21.08.2015 в 22:09.
|
|
22.08.2015, 00:40
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Erolast, можно подхачить.
---------------------------------------------------------------------------------
Типа линия.
UPD: Хотя на фуррифоксе говёно :с Как вариант -- поискать какой-нибудь неразрывный пробел, который местным парсером не вырезается.
|
|
22.08.2015, 14:41
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
Сообщение от trikadin
|
Ну не перешли они и бог с ними. Как это мешает использованию бабеля?
|
Да я и сам не знаю(
|
|
23.08.2015, 07:19
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Сообщение от trikadin
|
Erolast, можно подхачить.
---------------------------------------------------------------------------------
Типа линия.
UPD: Хотя на фуррифоксе говёно :с Как вариант -- поискать какой-нибудь неразрывный пробел, который местным парсером не вырезается.
|
Тогда уж проще сразу U+2500 (или толстый U+2501) из box-drawing characters задействовать, он позволяет нарисовать неразрывную черту:
────────────────
Правда, при длине > 16 гребаный форум почему-то превращает всё в кракозябры.
|
|
25.08.2015, 17:18
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Вопрос к тем, кто работал с документно-ориентированными БД. В частности PouchDB
есть сущность в виде гномика объекта:
// contact
{
"name": "string"
"posts": [
{
"message": "string",
"date": "string",
"attachments": {
"foo.txt": {
"type": "string",
"data": "base64"
}
}
}
]
}
в которой будут размножаться контакты, посты, вложения. Как правильней всего хранить в бд?
1. Создать бд contacts и пихать туда контакты со всеми данными, но тогда при изменении контакта придется сохранять весь контакт. Правильно ли это?
2. Или создать базы contacts, posts и связать их по id? Но тогда это уже будет похоже на реляционную модель.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
25.08.2015, 18:42
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
2-й путь правильный, конечно.
Суть же не в том, чтобы не быть как реляха, а в том, что у тебя нету жесткой завязки на структуру данных -- если ты захочешь что-то поменять, это будет просто.
Хороший путь, кстати -- это у контакта есть ID, а у поста есть поле, скажем, createdBy, в котором хранится значение ID контакта-создателя. Контакт ничего не знает о постах (это только информация о нем самом), посты знают ID того, кто их создал, но больше ничего о нем не знают.
Оговорюсь, что это актуально для монги, но, думаю, для этой базы тоже верно.
Последний раз редактировалось trikadin, 25.08.2015 в 18:46.
|
|
25.08.2015, 20:48
|
Аспирант
|
|
Регистрация: 08.08.2015
Сообщений: 43
|
|
Сообщение от nerv_
|
Как правильней всего хранить в бд?
|
Правильней так, как говорит баланс. Всё зависит от количества обращений к записям и таблицам. Нужно нарисовать схему и посчитать количество запросов к БД и прикинуть нагрузку. Нагрузка будет либо на выборку из БД (обычно за это отвечает сама БД), либо на сервер (обработчик). Поэтому правильней выбирать БД под задачу. В остальном как написал trikadin.
Сообщение от trikadin
|
это актуально для монги
|
и для остальных БД тоже не критично
|
|
25.08.2015, 22:48
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
trikadin, спасибо.
Сообщение от MakeMeFeel
|
либо на сервер
|
сервера не будет, все на клиенте
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
|
|