функция принимает аргумент, а потом обьект параметров. Хочу воспользоваться таким принципом, Но как лучше всего проверить, что если передан обьект, то он верный - поля подходят по типу; если поле не указано, то вместо него сразу подставляется дефолтное значение. Хотелось бы какое-то решение, чтоб без лапши if'ов.
Для деволтных значений, я предполагаю, поможет Object.assign, а проверки?
Для дефолтных значений используй деструктуризацию
Для проверки валидности полей используй assert
const assert = require('assert') function test (param1) { const { field1 = 'foo' } = param1 assert(typeof field1 === 'string', 'Invalid type of parameter field1') }
Обсуждают сегодня