<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

Также Вы получите и всю практику, поскольку прямо в курсе с нуля создаётся полноценный Интернет-магазин, который затем публикуется в Интернете. И всё это прямо на Ваших глазах.

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Проверка типов параметров функции в JavaScript

Проверка типов параметров функции в JavaScript

Как известно - JavaScript - это язык с динамической типизацией. В этом его плюсы и минусы.

Но при описании какой-либо функции часто бывает необходимо проверить параметры на соответствие ожидаемым типам. Так, например, если мы ждем, что в функцию должен прийти объект, а приходит число - то мы получим ошибку, так как у числа, скорее всего не будет того метода объекта, который мы ожидаем.

Для решения задач проверки типов (в том числе), придумано множеств библиотек (flow от Facebook, например) и даже языков (TypeScript, например), но я покажу Вам в данной статье, конечно далекую от идеала, но, тем не менее, решающую базовые задачи по проверке типов функций.

Итак, далее код:


// получает строковое название типа переданного объекта, (number, string, object)
function typeOf( obj ) {
    // вызываем метод toString и получаем строку, для числа например, [object Number]
    // далее с помощью регулярных выражений вытаскиваем название типа и приводим его нижнему регистру
    return Object.prototype.toString.call( obj ).match(/\s(\w+)/)[1].toLowerCase();
}


/**
 *  функция проверяющая типы переданных аргументов
 * 
 * 
 * @param args {Object} - массивоподобный объект всех аргументов из проверяемой функции
 * @param types {Array} - массив типов
 **/
function checkTypes( args, types )
{
    // превращаем массивоподобный объект в обычный массив
    const _args = Array.prototype.slice.call( args );

    // проходим по массиву переданных типов сравнивая их с фактически переданными в функцию типами
    for ( let i = 0; i < types.length; ++i )
    {
        // если типы не совпадают - бросаем исключение
        if ( typeOf( _args[i] ) !== types[i] ) {
            throw new TypeError( 'Параметр '+ i +' должен иметь тип '+ types[i] );
        }
    }
}

Далее посмотрим на пример:


function doSomeWork(times, callback)
{
    // передаем встроенный объект arguments, содержащий все аргуметы функции
    // и массив типов ожидаемых параметров
    checkTypes(arguments, ['number', 'function']);

    // проверка прошла вызываем функцию
    callback(times);
}

// правильные параметры
doSomeWork(10, (times) => {
    console.log(times)
})

// Uncaught TypeError: Параметр 0 должен иметь тип number
doSomeWork([], (times) => {
    console.log(times)
})

Вот таким образом мы можем проверить типы входных параметров функции в JavaScript.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.