Я хотел бы знать, что лучше всего проверить строку, например (mail, password ..Etc).JavaScript: test vs exec
/^...$/i.exec(a)
против
/^...$/i.test(a)
- Exec возвращает значение
- тест истинный
тест:
// 1° way
var mail = req.body.mail;
if(check(mail)){
Exec:
// 1° way
var mail = req.body.mail;
if(check(mail)){
// 2° way
var mail = check(req.body.mail);
if(mail){
Exec или тест? и какое число (1 ° или 2 °, если Exec)
РЕШЕНИЕ
тест лучше для этого случая.
- это, безусловно, будет быстрее.
Но самое главное
- тест выполняет всю свою работу. В то время как exec не работал, потому что больше можно сделать, но не требуется.
- Как указано Mattias Buelens, используя isMail(), это более логично: это электронная почта: да или нет. В то время как exec: есть электронная почта: адрес электронной почты или null -> wtf? lol
Что вы подразумеваете под «лучшим способом»? – j08691
1-й. Зависит от того, что вы пытаетесь сделать. Нужны ли вам соответствующие/захватывающие группы и т. Д. Или просто проверка, чтобы проверить, соответствует ли предоставленная строка регулярному выражению? Кроме того, второй вопрос основан на предпочтении, он будет иметь тот же результат. Вы должны выбрать, какая из них более читабельна и удобна для вас/вашей команды. –
есть два решения, есть разные, поэтому я думаю, что один из них лучше всего ** РЕДАКТИРОВАТЬ ** @ Fabrício Matté: просто подтвердите. Да, я думаю, что первый способ лучше, потому что это более читаемая логика. (для вас;)) –