@js_ru
JavaScript — русскоговорящее сообщество

Рекомендуем сразу отключить уведомления Правила: http://bit.ly/our_etiquette См. также: @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

3006 members

Архив канала @js_ru 15 марта 2017 г.

04:40:49 ДП
User 226892831
Никто случайно не знает как на медиуме можно посмотреть статьи, которые я лайкал и можно ли вообще это сделать?
08:22:52 ДП
User 626100
Наталья здесь вакансии не размещают
08:45:20 ДП
User 1294634
https://twitter.com/left_pad/status/841818184781070338
twitter.com/left_pad/status/841818184781070338
When compiling node_modules with ES2015+, should Babel start ignoring config files that are committed to npm in Babel 7? Right now it merges
08:45:35 ДП
User 1294634
а часто встречались с npm-пакетами, которые требует бабеля?
08:46:31 ДП
User 185980313
один раз пока что
08:46:55 ДП
User 1294634
а что за он?
08:47:07 ДП
User 185980313
electrode-react-ssr-caching
08:48:22 ДП
User 185980313
но тут нужно уточнить, сам пакет не требует бабел, но, его не собрать вебпаком и аглифай без бабел
08:49:36 ДП
User 1294634
User 185980313
но тут нужно уточнить, сам пакет не требует бабел, но, его не собрать вебпаком и аглифай без бабел
не могу понять почему
08:49:54 ДП
User 185980313
используются в коде анонимные функции
08:50:24 ДП
User 1294634
а, вижу
08:51:09 ДП
User 1294634
ну это как мне кажется косяк разрабов, если свою либу для браузеров при пуше в нпм не сбилдить в es5
08:51:34 ДП
User 185980313
библиотека не для браузеров) наверное по этому и не сделали
08:52:00 ДП
08:52:08 ДП
User 1294634
а зачем ты ее вебпаком собираешь?)
08:52:33 ДП
User 1294634
ну вплане, пускай сидит себе в node_modules, бандлить ее зачем
08:52:57 ДП
User 185980313
ну тут или компилить или выносить в экстернал)
08:56:30 ДП
User 1294634
ну случай прям не стоящий того, чтобы бабель мержил конфиги или делал какую-то логику относительно node_modules
09:01:47 ДП
User 185980313
но не всего node_modules, а только electrode-react-ssr-caching
09:02:01 ДП
User 185980313
но вообще да, можно было и по другому решить
11:20:40 ДП
User 177916640
бгг отдали проект  напиленый на постцсс :))
11:20:51 ДП
User 177916640
ни методологии ни  удобств ))
11:21:47 ДП
User 177916640
сидишь и страдаешь.  шаг в сторону и  ты уже переопределяешь что-то глобальное и странное .. чтото типа 

.row + .row {  padding-top: 123px; }
11:22:28 ДП
User 177916640
Если кто-то кого-то учил готовить постцсс, подскажите  по каким книжкам  :) ?
11:22:41 ДП
User 1294634
будто если бы было на простом цсс/scss/stylus, то автоматически была бы методология
11:22:54 ДП
User 177916640
потому что мне  начинает казаться что  этот  next-синтаксис  это какаято особо изощрённая пытка )
11:23:12 ДП
User 177916640
тож верно
11:23:30 ДП
User 1294634
да принципы везде одни, изоляция, не использование глобального состояния
11:23:35 ДП
User 1294634
шо в цсс, шо в жс
11:23:38 ДП
User 36435661
.row + .row {  padding-top: 123px; }
11:23:43 ДП
User 36435661
это нативнный цсс
11:24:05 ДП
User 36435661
https://habrahabr.ru/post/123949/
habrahabr.ru/post/123949
Синтаксис CSS несложен, и для понимания его совсем не нужно иметь степень доктора в области IT. Однако, это один из немногих популярных языков, который не...
11:24:23 ДП
User 213704994
это выборка по сиблингам
11:24:31 ДП
User 213704994
хотя весьма странная
11:24:39 ДП
User 177916640
User 36435661
это нативнный цсс
ясен красен.  Я про то, что  зачем мне это переопределять ?   Почему человек вообще подумал о том что у меня в приложении  два рядом стоящих компонента должны  иметь другой паддинг   глобально ? :))
11:24:39 ДП
User 36435661
по пост цсс смотришь в конфиге каки плагины юзаются и читаешь по ним доку на гитхабе
11:25:01 ДП
User 36435661
User 177916640
ясен красен.  Я про то, что  зачем мне это переопределять ?   Почему человек вообще подумал о том что у меня в приложении  два рядом стоящих компонента должны  иметь другой паддинг   глобально ? :))
ну наркоман может быть
11:25:04 ДП
11:25:08 ДП
User 1294634
так и вижу, как он подумал
11:25:09 ДП
User 213704994
еще можно использать postcss-use
11:25:39 ДП
User 177916640
чем хорош ?
11:25:47 ДП
User 36435661
зарефачь по БЭМу и все будет ок)
11:25:52 ДП
User 213704994
чтобы управлять плагинами локально и было четко видно, где что используется
11:27:31 ДП
User 177916640
User 36435661
зарефачь по БЭМу и все будет ок)
))) я так и рефакчю  ) а они  каждый раз новую свинью мне подсовывают ..
чтото типа  при других ширинах экрана   тоже есть .lala + .lala {}
11:28:31 ДП
User 177916640
User 213704994
чтобы управлять плагинами локально и было четко видно, где что используется
управлять плагинами локально зачем ?  .. чот я не понимаю :( ...
11:29:10 ДП
User 36435661
User 177916640
))) я так и рефакчю  ) а они  каждый раз новую свинью мне подсовывают ..
чтото типа  при других ширинах экрана   тоже есть .lala + .lala {}
ну это уже проблема продукта
11:29:10 ДП
11:31:29 ДП
User 213704994
User 177916640
управлять плагинами локально зачем ?  .. чот я не понимаю :( ...
чтобы ты гадал, откуда такой синтаксис и где искать
11:31:48 ДП
User 213704994
http://ai.github.io/postcss-way/ru/?full#18
11:32:14 ДП
User 213704994
т.е. для плагинов использующих кастомный синтаксис
11:35:41 ДП
User 177916640
postcss-bem —- какоето дрочение :))  
впринцыпе в случаях как ниже  это нормик.
@b:hover @m lala { ... }
хотя всёравно выглядит  ужасно.

http://ai.github.io/postcss-way/ru/?full#26
11:36:08 ДП
User 160806213
Всем привета посоветуйте по ноде книги чтобы стартануть
11:38:30 ДП
User 177916640
User 160806213
Всем привета посоветуйте по ноде книги чтобы стартануть
в js умеешь ?
11:39:01 ДП
User 160806213
Чутка совсем
11:39:09 ДП
User 36435661
User 160806213
Всем привета посоветуйте по ноде книги чтобы стартануть
node.js в действии
11:39:40 ДП
User 91990226
User 160806213
Всем привета посоветуйте по ноде книги чтобы стартануть
Там особо не нужны книги, если есть опыт в js, то можешь начинать, просматривая популярные пакеты (исходники), проекты на ноде на гитхабе
11:39:55 ДП
User 91990226
если не знаешь js, то и нода не нужна
11:40:00 ДП
11:40:20 ДП
User 177916640
не хочу занудствовать.  но в общем нода это жс на 99%. Учи жс.
Если у тебя цель развлечься то просто развлекайся с  официальной документацией.  она норм!
11:41:06 ДП
User 160806213
Спасибо ребят )
11:42:04 ДП
User 177916640
User 160806213
Спасибо ребят )
о кстати у ильи кантора есть видосы  помогающие вплыть в ноду.
11:43:47 ДП
User 160806213
Смотрю его как ну и читаю nodebeginner.ru. Подумал может ещё есть что
11:44:40 ДП
User 160806213
Сейчас на php пишут вообще ? Раньше помню вакансий море было
11:45:30 ДП
User 91990226
сецчас пхп тоже популярный
11:45:38 ДП
User 91990226
популярнее js
11:45:54 ДП
User 91990226
*по мнению гитхаба
11:46:52 ДП
User 160806213
Кто какие проекты делал в своё время когда изучал js? Интересно )
11:47:31 ДП
User 91990226
по ноде можно делать парсеры, ботов
11:49:35 ДП
User 177916640
User 160806213
Смотрю его как ну и читаю nodebeginner.ru. Подумал может ещё есть что
если по жсу  то вот http://learn.javascript.ru/

а по ноде вот https://nodejs.org/dist/latest/docs/api/
11:53:19 ДП
04:21:12 ПП
User 68520717
@ramainen привет, у тебя есть хабр?
04:24:21 ПП
User 126633141
Подскажите почему не определяем след элемент..
https://gist.github.com/anonymous/6d55d910924f1d13f7f1b2e9c9a3540f

4 инпута подряд идут
gist.github.com/anonymous/6d55d910924f1d13f7f1b2e9c9a3540f
04:27:12 ПП
User 337427257
User 213704994
хотя весьма странная
Абсолютно нормальная, серьезно никогда такой не видели что ли?))
04:29:59 ПП
User 337427257
User 177916640
ясен красен.  Я про то, что  зачем мне это переопределять ?   Почему человек вообще подумал о том что у меня в приложении  два рядом стоящих компонента должны  иметь другой паддинг   глобально ? :))
Что значит глобально? Это шаблонный приём, чтобы сделать отступ между компонентами. Не тупым margin-bottom вообще к каждому элементу, а именно задавая промежуток между соседними элементами одного класса
04:30:06 ПП
User 117386728
User 68520717
@ramainen привет, у тебя есть хабр?
Привет, я уже тебе отвечал. Есть. Ссылку дать на профиль? Ник ainu
04:34:48 ПП
User 68520717
User 117386728
Привет, я уже тебе отвечал. Есть. Ссылку дать на профиль? Ник ainu
круто, спасибо
04:35:25 ПП
User 68520717
не видел пред ответа
04:51:30 ПП
User 117386728
#whois всем привет. работаю в казанской студии по разработке сайтов. На этой и прошлой работе и прошлой в должности техдиректора. Специалист в js, php, немного golang. Могу быть полезен сообществу путем дележки ссылками на библиотеки и решения. Про группу узнал непонятно как - телефон в кармане открыл. Наверное ссылка с javascript jobs
08:29:32 ПП
User 151091411
камрады, есть кто живой? у меня вопрос насущный про конструкторы es5
08:32:47 ПП
User 68520717
User 151091411
камрады, есть кто живой? у меня вопрос насущный про конструкторы es5
мб лучше class?
08:33:22 ПП
User 62169189
Прототипы наше всё
08:35:43 ПП
User 151091411
ну понятно что классы лучше, но мне для понять :)
08:35:46 ПП
User 151091411
короче вот такой код
08:36:24 ПП
User 151091411
var i = new Increment;
console.log(i); //1
console.log(i); //2
console.log(i+i); //7
08:36:43 ПП
User 151091411
как под это дело конструктор забабахать?
08:38:04 ПП
08:39:04 ПП
User 62169189
К классам отношение посредственное
08:42:18 ПП
User 151091411
без new через замыкания и функционально я бы в 6 секунд написал, а тут хз, я чет призадумался.
08:43:51 ПП
User 62169189
.valueOf же
08:43:53 ПП
User 151091411
это на доном из онлайн собеседований мне прилетело...
08:44:26 ПП
User 62169189
На собесе в яндексе спрашивали у меня его
08:44:43 ПП
User 62169189
Больше пока не нужен был вроде 🙄
08:44:52 ПП
User 151091411
не думаю, тут объект используется непосредственно, без свойств.
08:45:03 ПП
User 62169189
Открой спеку
08:45:04 ПП
User 151091411
обрати внимание на консоль логи
08:45:12 ПП
User 62169189
Где про приведение типов
08:45:13 ПП
User 151091411
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf
developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf
Метод valueOf() возвращает примитивное значение указанного объекта.
08:45:17 ПП
User 62169189
Открой спеку)
08:45:27 ПП
User 74329021
User 151091411
без new через замыкания и функционально я бы в 6 секунд написал, а тут хз, я чет призадумался.
Суть задачи же не меняется при этом никак, с конструктором даже проще как-то
08:45:29 ПП
08:45:47 ПП
08:46:21 ПП
User 151091411
короче тут своидтся все к вопросу - как объект привести к примитиву
08:46:22 ПП
User 62169189
console.log(i);

Тут разве valeoOf дёргается?
08:46:29 ПП
User 151091411
переопределение toString не сработало
08:46:35 ПП
User 74329021
User 62169189
console.log(i);

Тут разве valeoOf дёргается?
Да
08:46:51 ПП
User 68520717
valueOf самое оно
08:47:22 ПП
User 151091411
var obj = {
  toString: function() {
    return 123;
  }
};

alert( obj ); // 123
08:47:36 ПП
08:47:42 ПП
User 227646933
User 62169189
Больше пока не нужен был вроде 🙄
С помощью valueOf - toSting можно сэмулировать operator overload
http://www.2ality.com/2011/12/fake-operator-overloading.html
08:48:03 ПП
User 227646933
    var sb = new StringBuilder();
    sb << add("abc") << add("def");
    console.log(sb.toString()); // abcdef
08:48:56 ПП
User 74329021
Но toString для этой задачи не корректно использовать обычно
08:49:44 ПП
User 62169189
User 227646933
С помощью valueOf - toSting можно сэмулировать operator overload
http://www.2ality.com/2011/12/fake-operator-overloading.html
Искренне (не) желаю встретить легаси с таким кодом ;)
08:50:13 ПП
User 227646933
User 62169189
Искренне (не) желаю встретить легаси с таким кодом ;)
Не не не :) Так делать конечно не надо. Но "можно"
08:50:23 ПП
User 62169189
Ну вот и поговорили )
08:51:01 ПП
User 74329021
Почему-то все кто любят такие задачи задавать, при этом соглашаются всегда, что такое конечно же писать не надо, но задачу всё равно задают ))
08:53:43 ПП
User 151091411
чет я все равно не въезжаю как должен такой конструктор выглядеть :(
08:54:41 ПП
User 227646933
Собеседование на самом деле состоит из двух этапов

1) Понять подходишь ты или нет для вакансии
2) Определить твою ЗП (читай заплатить поменьше)

valueOf, toString - это больше для того чтобы ты много не хотел просить :) Надо будет какнибудь статью об этом написать.
08:55:07 ПП
User 1294634
я б сразу накидывал к зп, если такое спрашивают
08:56:46 ПП
User 1294634
а сбивать самооценку собеседуемого дабы понизить зп такая себе идея обычно)
08:57:02 ПП
User 1294634
если конечно не вам потом с ним работать
08:57:18 ПП
User 1395200
User 227646933
Собеседование на самом деле состоит из двух этапов

1) Понять подходишь ты или нет для вакансии
2) Определить твою ЗП (читай заплатить поменьше)

valueOf, toString - это больше для того чтобы ты много не хотел просить :) Надо будет какнибудь статью об этом написать.
Психологически заставить думать тебя, что ты недостаточно знаешь?
08:57:44 ПП
User 227646933
User 1395200
Психологически заставить думать тебя, что ты недостаточно знаешь?
Ну да. Из серии вы знаете меньше чем я но хотите больше ЗП
08:58:24 ПП
User 1294634
User 1395200
Психологически заставить думать тебя, что ты недостаточно знаешь?
ну или просто детские обидки свои вылить еще, хорошая стратегия собеседования
08:58:46 ПП
User 227646933
Ну это все мой меркантильный взгляд на вещи. Мне лично кажется что все именно так
08:59:01 ПП
User 151091411
чет я как не кручу, как не верчу эту таску, херня получается. :(
08:59:35 ПП
User 151091411
var Increment = function() {
  return {
    counter: 0,
  }
}

Increment.prototype.valueOf = function() {
  return this.counter++;
}

var i = new Increment();

console.log(i);
console.log(i);
console.log(i+i);

{ counter: 0 }
{ counter: 0 }
[object Object][object Object]
09:00:33 ПП
User 151091411
var Increment = function() {
  return {
    counter: 0,
    valueOf: function() {
      return this.counter++;
    }
  }
}

{ [Number: 0] counter: 1, valueOf: [Function: valueOf] }
{ [Number: 1] counter: 2, valueOf: [Function: valueOf] }
5
09:01:05 ПП
User 151091411
а должно выдавать просто 1, 2, 7
09:01:10 ПП
User 151091411
это вообще реально?
09:02:03 ПП
User 409904
А если toString еще прописать?
09:02:33 ПП
User 151091411
да тоже фигня выходит
09:02:52 ПП
User 74329021
Хм, может это прикол console.log такой? Так-то вроде правильно всё
09:03:18 ПП
User 151091411
ну может правильный ответ тогда отвалите, так не бывает? :)
09:04:31 ПП
User 1395200
User 227646933
Ну это все мой меркантильный взгляд на вещи. Мне лично кажется что все именно так
Понял
09:06:44 ПП
User 74329021
User 151091411
ну может правильный ответ тогда отвалите, так не бывает? :)
Ну вообще да, хотя я думаю, что они просто в теории лоханулись как я выше с ответом, надо как с выражением поработать с обьектом перед передачей в console (console.log(+i);, например), иначе он сильно умный
09:08:03 ПП
User 151091411
При преобразовании объекта в строку интерпретатор JavaScript выполняет следующие действия:

Если объект имеет метод toString(), интерпретатор вызывает его. Если он возвращает простое значение, интерпретатор преобразует значение в строку (если оно не является строкой) и возвращает результат преобразования.
Если объект не имеет метода toString() или этот метод не возвращает простое значение, то интерпретатор проверяет наличие метода valueOf(). Если этот метод определён, интерпретатор вызывает его. Если он возвращает простое значение, интерпретатор преобразует это значение в строку (если оно не является строкой) и возвращает результат преобразования.
В противном случае интерпретатор делает вывод, что ни toString() ни valueOf() не позволяют получить простое значение и возбуждает ошибку TypeError.
При преобразовании объекта в число интерпретатор выполняет те же действия, но первым пытается применить метод valueOf():

Если объект имеет метод valueOf(), возвращающий простое значение, интерпретатор преобразует (при необходимости) это значение в число и возвращает результат.
Если объект не имеет метода valueOf() или этот метод не возвращает простое значение, то интерпретатор проверяет наличие метода toString(). Если объект имеет метод toString(), возвращающий простое значение, интерпретатор выполняет преобразование и возвращает полученное значение.
В противном случае интерпретатор делает вывод, что ни toString() ни valueOf() не позволяют получить простое значение и возбуждает ошибку TypeError.
Методы toString() и valueOf() доступны для чтения и записи, поэтому их можно переопределить и явно указать, что будет возвращаться при преобразовании:

1
2
3
var obj = {};
obj.toString = function() { return "объект"; };
alert("Это " + obj);   // "Это объект"
09:08:57 ПП
User 74329021
User 227646933
Ну это все мой меркантильный взгляд на вещи. Мне лично кажется что все именно так
По моему опыту, это не столько политика компании (я про занижение зп), сколько чисто самоутверждение человека на месте, т.к. собеседует обычно программист и ему наплевать, сколько там кандидат наобсуждает дальше с HR
09:10:08 ПП
User 151091411
правильно я понимаю что чувак, который придумал такой вопрос, чудак, на букву м?
09:11:09 ПП
User 227646933
User 151091411
правильно я понимаю что чувак, который придумал такой вопрос, чудак, на букву м?
Не, не совсем..

Это все можно провернуть в Node.js
https://repl.it/GX2I
repl.it/GX2I
Powerful and simple online compiler, IDE, interpreter, and REPL. Write, run, save, and share code from your browser!
09:11:12 ПП
User 74329021
User 151091411
При преобразовании объекта в строку интерпретатор JavaScript выполняет следующие действия:

Если объект имеет метод toString(), интерпретатор вызывает его. Если он возвращает простое значение, интерпретатор преобразует значение в строку (если оно не является строкой) и возвращает результат преобразования.
Если объект не имеет метода toString() или этот метод не возвращает простое значение, то интерпретатор проверяет наличие метода valueOf(). Если этот метод определён, интерпретатор вызывает его. Если он возвращает простое значение, интерпретатор преобразует это значение в строку (если оно не является строкой) и возвращает результат преобразования.
В противном случае интерпретатор делает вывод, что ни toString() ни valueOf() не позволяют получить простое значение и возбуждает ошибку TypeError.
При преобразовании объекта в число интерпретатор выполняет те же действия, но первым пытается применить метод valueOf():

Если объект имеет метод valueOf(), возвращающий простое значение, интерпретатор преобразует (при необходимости) это значение в число и возвращает результат.
Если объект не имеет метода valueOf() или этот метод не возвращает простое значение, то интерпретатор проверяет наличие метода toString(). Если объект имеет метод toString(), возвращающий простое значение, интерпретатор выполняет преобразование и возвращает полученное значение.
В противном случае интерпретатор делает вывод, что ни toString() ни valueOf() не позволяют получить простое значение и возбуждает ошибку TypeError.
Методы toString() и valueOf() доступны для чтения и записи, поэтому их можно переопределить и явно указать, что будет возвращаться при преобразовании:

1
2
3
var obj = {};
obj.toString = function() { return "объект"; };
alert("Это " + obj);   // "Это объект"
Ну конкретно с консолью проблема, с alert у тебя проблем таким не будет

Единственное, не понял почему i + i у тебя не сработало, т.к. там точно к valueOf перед передачей в консоль должно было идти
09:11:14 ПП
User 227646933
http://stackoverflow.com/questions/28397861/adjust-console-log-behaviour-of-custom-object
stackoverflow.com/questions/28397861/adjust-console-log-behaviour-of-custom-object
is there any way to influence what console.log gives out custom objects? I tried to overwrite the customObject.prototype.toString method, that did not work though. Any ideas?
09:11:25 ПП
09:12:29 ПП
User 151091411
var Increment = function() {
  this.counter = 0;
  this.valueOf = function() { return ++this.counter; }
  return this;
}
{ [Number: 1] counter: 1, valueOf: [Function] }
{ [Number: 2] counter: 2, valueOf: [Function] }
7
09:13:00 ПП
User 227646933
@iCoderXXI https://repl.it/GX2I
09:13:47 ПП
User 151091411
ага, благодарю.
09:13:54 ПП
User 151091411
извраты конечно лютые...
09:14:46 ПП
User 151091411
век, блин, живи, век, блин, учись.
09:15:04 ПП
User 60331718
User 90054209
Которые действительно вас помогли
Я вот сейчас читаю you dont know js, мне нравится👍
09:15:24 ПП
User 74329021
У меня на локальной ноде консолька всё равно выводит не просто числа, хотя valueOf дёргается судя по счётчику

{ [Number: 9] counter: 9 }
09:16:06 ПП
User 151091411
User 74329021
У меня на локальной ноде консолька всё равно выводит не просто числа, хотя valueOf дёргается судя по счётчику

{ [Number: 9] counter: 9 }
https://repl.it/GX2I вот это работает
repl.it/GX2I
Powerful and simple online compiler, IDE, interpreter, and REPL. Write, run, save, and share code from your browser!
09:16:16 ПП
User 74329021
Да, там видел :)
09:16:19 ПП
User 227646933
User 74329021
У меня на локальной ноде консолька всё равно выводит не просто числа, хотя valueOf дёргается судя по счётчику

{ [Number: 9] counter: 9 }
какая версия Node.js?
09:16:39 ПП
09:17:26 ПП
User 60331718
User 74329021
У меня на локальной ноде консолька всё равно выводит не просто числа, хотя valueOf дёргается судя по счётчику

{ [Number: 9] counter: 9 }
Это что у тебя в квадратных скобках? Это ts?
09:18:08 ПП
User 74329021
Ну видать тип поля у обьекта так отображает, не ts
09:18:27 ПП
User 151091411
малость оптимизнул вот
var Increment = function() {
  this.counter = 0;
}

Increment.prototype.valueOf = function() {
  return ++this.counter;
}

Increment.prototype.inspect = function(depth, opts) {
  return ++this.counter;
}
09:20:13 ПП
User 74329021
А, сорян, я у себя с браузерной консоли из хистори копипастнул в ноду версию без inspect
09:21:08 ПП
User 227646933
@iCoderXXI  Да так лучше. Но всеравно конечно извращение какое-то :)
09:21:17 ПП
User 151091411
а вот еще лаконичнее получилось
var Increment = function() {
  var count = function() { return ++this.counter; };
  return {
    counter: 0,
    valueOf: count,
    inspect: count,
  }
}
09:21:49 ПП
User 151091411
камрады, благодарю! :)
09:22:17 ПП
User 151091411
в браузере не факт что будет работать мне кажется.
09:22:46 ПП
User 227646933
В браузере не работает  inspect - это node.js тема
09:23:49 ПП
User 151091411
в задании не уточняли, с нодой или без ноды. :( по дефолту в браузере видимо, хотя хз что у них там на уме. я часто встречаю задания, где очень большой простор для трактований
11:37:22 ПП
User 62169189
Шо такое инспект
11:48:45 ПП
User 227646933
https://nodejs.org/api/util.html#util_util_inspect_object_options