
malcev
09.07.2018
18:20:14
добавить delete o.a;
я могу как нибуть добраться до контекста в предпоследней строке??
??

Вишневый чай
09.07.2018
20:53:25

Google

Вишневый чай
09.07.2018
20:53:51
зачем это спагетти
это вообще работает?
(нет)
https://jsfiddle.net/6u3wj9tz/1/
или так задумывалась чтобы оно не работало...

Котяй Негодяй
09.07.2018
21:09:41
Всем известно, что объекты, реализующие метод toString, при приведении к строке используют врзвращаемое им значение. Поддерживает ли подобный интерфейс console.log? Если да, то какой метод я должен реализовать у obj для форматирования вывода console.log(obj)?

Вишневый чай
09.07.2018
21:11:44
Не слышал о таком, чтобы у объектов было что то особенное для вывода console.log()

Котяй Негодяй
09.07.2018
21:12:09

malcev
09.07.2018
21:13:31

Вишневый чай
09.07.2018
21:14:23

Котяй Негодяй
09.07.2018
21:15:17

Nikolay
09.07.2018
21:16:02
Можно, переопределить toString

Google

Nikolay
09.07.2018
21:16:13
И сделай .toString()

Котяй Негодяй
09.07.2018
21:16:41

Nikolay
09.07.2018
21:16:42
Или $(obj)

malcev
09.07.2018
21:16:42
https://jsfiddle.net/6u3wj9tz/10/

Вишневый чай
09.07.2018
21:16:44
Неее... Это трэшак же. =)
Ну, тут смотря зачем. Запутать тех кто будет дебажить - норм. А если для своих целей - закинь в console свой метод Аля console.myLog()

Nikolay
09.07.2018
21:17:12

Котяй Негодяй
09.07.2018
21:17:15
Мне тут сказали, что есть метод inspect, но он только в ноде. И он деприкейтед.
eprecationWarning: Custom inspection function on Objects via .inspect() is deprecated

Nikolay
09.07.2018
21:17:39
Сделай на темплейт стрингс
Они будут приводить к строке
Заранее переопредели toString

Котяй Негодяй
09.07.2018
21:18:07
Я ищу чистое решение без костылей. Ваще, это такая себе фича. Если можно решить чисто, то реализую. Если нет, в топку.

Nikolay
09.07.2018
21:18:25
Это как бы не костыль

Котяй Негодяй
09.07.2018
21:18:43

Вишневый чай
09.07.2018
21:18:58
А чё ты делаешь и зачем

Котяй Негодяй
09.07.2018
21:18:59

Nikolay
09.07.2018
21:19:00
Как бы у тебя и требование странное, не находишь?

Котяй Негодяй
09.07.2018
21:19:12
Нет.

Nikolay
09.07.2018
21:19:17
Да

Котяй Негодяй
09.07.2018
21:19:26
Вот то, что работает сейчас:
inspect() {
return `Range { ${this.#from}, ${this.#to} }`;
}

Google

Котяй Негодяй
09.07.2018
21:19:36
console.log(new Range(1, 2));
Тадааа
Только деприкейтед.

Nikolay
09.07.2018
21:20:14
Потому что есть toString

Вишневый чай
09.07.2018
21:20:24

Nikolay
09.07.2018
21:20:52
Можешь написать там тоже самое что в своём инспект
Только зато это все поймут

Вишневый чай
09.07.2018
21:21:26
Пиши new Range(1, 2).inspect()

Nikolay
09.07.2018
21:21:30
Потому что это стандартный способ приведения объекта к строке

Котяй Негодяй
09.07.2018
21:21:54
Это нормальное поведение, если предусмотрено.

Котяй Негодяй
09.07.2018
21:22:33
В том же расте такое есть из коробке, например.

Вишневый чай
09.07.2018
21:23:24
Ну если из коробки это ж другое. А тут можно сильно удивится

Nikolay
09.07.2018
21:23:51
И там прям черным по белому)

Вишневый чай
09.07.2018
21:24:17
Консоль не приводит к строке

Dika
09.07.2018
21:24:21

Вишневый чай
09.07.2018
21:24:40
Котяй верно говорит, игнорит консоль to string

Котяй Негодяй
09.07.2018
21:25:52
Range.prototype[inspect.custom] = function () {
const [from, to] = this.values;
return `Range { ${from}, ${to} }`;
};

Google

Котяй Негодяй
09.07.2018
21:26:03
Всё нормуль.

Вишневый чай
09.07.2018
21:26:37

Admin
ERROR: S client not available

Nikolay
09.07.2018
21:26:50

Котяй Негодяй
09.07.2018
21:26:50

Вишневый чай
09.07.2018
21:27:17

Котяй Негодяй
09.07.2018
21:27:20

Nikolay
09.07.2018
21:27:47
А расширить прототип это ок, ладно)

Котяй Негодяй
09.07.2018
21:28:06
Ты же понимаешь, какие протитипы нельзя расширять?
Возможно, стоит сперва сходить почитать об этом.

Вишневый чай
09.07.2018
21:28:38

Nikolay
09.07.2018
21:28:41
Я не понимаю зачем плодить сущности
Когда уже все есть

Котяй Негодяй
09.07.2018
21:29:00

Dika
09.07.2018
21:29:43

Котяй Негодяй
09.07.2018
21:29:50
Но Николай лучше знает.

Вишневый чай
09.07.2018
21:30:35
Чей прототип тот и расширяет как говорится
Спокойной

Google

Котяй Негодяй
09.07.2018
21:34:18
Я больше скажу. Вот класс у тебя лежит в файле. В отдельном. Там ты его собираешь, как то необходимо. За пределами файла ты его менять не должен. Ничего там расширять или дописывать. Нужно понимать причины тех или иных правил, чтобы применять их к месту, иначе получится адок из ограничений, которые ведут в тупик и говнокод. Щас бы я получил темплейты для дебага. Ну пздц приехали — эта фича должна быть спрятана внутри реализации самой сущности — как она себя печатает для отладки.
При том, что в данном случае я должен явно задавать способ вывода, т.к. значения, спрятанные в классе, приватны.
И не являются собственными свойствами объекта. И его дефолтный вывод был бы ваще бесполезен.

Nikolay
09.07.2018
21:39:01
И это вообще не похоже на вопрос, который задал вначале

Котяй Негодяй
09.07.2018
21:39:43
Как так? Я спросил, какой интерфейс нужно реализовать, чтобы его логгер дёргал.
А через символы — ваще самое то. Хорошая идея.
Да, впрочем, пофиг. Проблема решена. Спасибо за внимание к проблеме. =)

FUTURICO
09.07.2018
22:12:02
хорошо

Akmatali
10.07.2018
05:58:55
Ишу удаленно наставника, знаю html,css, учу js,
уже более и менее знаю js.
хочу работать с реальными проектами помогать,
получать из этого реальный опыт работы.
Если было бы ментор у меня учеба и практика куда более прогрессивнее шел бы.

Andrew
10.07.2018
07:56:53
Всем привет, кто может помочь реализовать поиск в таблице по 2 столбцу? что б оно искало только по Имени и не более?
http://jsfiddle.net/2kufy4st/6/