Как в JS заранее проверить входящие типы параметров, то что сейчас есть в PHP?
// php
function data(int $number, string $string, bool $status) {}
// JS, здесь нужно проверить типы параметров
function data(number, str, status) {}
Если типы не соответствуют, то выдавать ошибку и не выполнять функцию
Ответы (1 шт):
Автор решения: Arnokay
→ Ссылка
В чистом JS валидировать входящие данные как на примере не получится.
Если вам нужно понимать типы данных, с которыми вы работаете во время разработки, то стоит посмотреть в сторону TypeScript.
Если вам нужна валидация для вывода ошибок при неправильно передаваемых данных, то стоит посмотреть в сторону библиотек для валидации схем, например:
Пример подобного кода на joi:
function data({ number, str, status }) {}
const schema = joi.object({
number: joi.number().required(),
str: joi.string().required(),
status: joi.boolean().required(),
});
const request = {
number: 1,
str: 'str',
status: true,
};
// синхронно
const { value, error } = schema.validate(request);
if (!error) {
data(value);
} else {
// обработка ошибки
}
// асинхронно
try {
const value = await schema.validateAsync(request);
data(value);
} catch (error) {
// обработка ошибки
}