6. Уроки Node.js. Util и Наследование

nodejs_logo_green

Всем привет! Тема ближайших статей: Самые часто используемые модули Node.js.

Первым методом, который мы изучим, будет метод util inspect модуля, встроенного util. Этот метод позволят красиво вывести любой объект, даже если у этого объекта, как в этом примере, есть ссылка на самого себя.

Запускаем node inspect.js и видим, что, действительно, все красиво обработалось. При этом, если у объекта есть свойства inspect, и оно равно функции, то эта функция будет вызвана.

Именно ее результат будет возвращен. Например, я сделал функцию inspect и вернулся 123. Таким образом, поведение метода util inspect несколько напоминает toString. И этот метод используется в console автоматически, если она хочет добавить в log какой-то объект. Я убрал util inspect:

Вызываю. Все работает так же. Потому что, на самом деле, console вызывает его внутри. Однако, иногда все же необходимо обращаться к util inspect явно, в первую очередь, в тех случаях, когда мы хотим вывести что-то не в console, а, например, получить строчное представление объекта для вывода в файл. Кроме того, есть дополнительные параметры util inspect: можно, например, задать глубину вывода объекта, по умолчанию два. Но они используются редко.

Следующая команда – это  util format. Создадим файл format.js.

Util format получает строку и дальше оно подставляет в нее следующие параметры. Вместо  %s будет выведена строка, вместо %d будет выведено число, а далее вместо %j будет выведен объект в формате json. Если я сейчас это запущу, то вот что я получу:

{“text”:”obj”}

Обратите внимание, это формат json. Это не вывод util inspect. Соответственно, если вдруг я вместо числа передал здесь что-то еще, то при выводе я получу NaN, потому что автоматически происходит конвертация.

Метод util format также используется в console не явно. Если я сейчас возьму и перенесу это прямо в консоль:

то все отлично продолжит работать:

Следующий, последний метод util, о котором пойдет речь – это метод util inherits. Чтобы его было легче понять, я позволил себе скачать исходники Node.js и достать из них файл util.js. Это как раз и есть исходник модуля util. И там на чистом java script есть метод inherits:

Если вы знаете, как работает OOP в JavaScript, тогда вы этот метод сразу понимаете. Если же нет, то рекомендуется разобраться с этим. Впрочем, использовать его одно и так довольно просто. Достаточно создать родительский класс, конструктор, методы в прототипе.

Затем, чтобы унаследовать от него, создаем конструктор потомка и вызываем util inherits:

Потом добавляем в прототип методы:

Получается, что все объекты, создаваемые этим конструктором, будут наследовать от Animal. Так что если я сейчас запущу код node inherits.js, то rabbit.walk сначала вызовет метод родителя, а rabbit.jump вызовет метод потомка. Все как обычно при наследовании:

Код данного урока можно скачать отсюда.

More-To-Come-Soon

Материал урока взят из следующего скринкаста.

We are looking forward to meeting you on our website soshace.com

About the author

Stay Informed

It's important to keep up
with industry - subscribe!

Stay Informed

Looks good!
Please enter the correct name.
Please enter the correct email.
Looks good!

Related articles

Уроки Express.js . Логгер, Конфигурация, Шаблонизация с EJS. Часть 2.

Favicon – это все connect Middleware, он смотрит, если url имеет вид favicon.ico, то он читает favicon и ...

3. Уроки Express.js. Шаблонизация с EJS: Layout, Block, Partials

В реальной жизни у нас обычно больше, чем один шаблон. Более того, если уж так ...

24.11.2016

Уроки Express.js. Основы и Middleware. Часть 2.

Всем привет! Давайте продолжим наш урок об основах Express и Middleware. Итог (добавим в ...

Sign in

Forgot password?

Or use a social network account

 

By Signing In \ Signing Up, you agree to our privacy policy

Password recovery

You can also try to

Or use a social network account

 

By Signing In \ Signing Up, you agree to our privacy policy