Это может быть сведено к следующим образом:
if (attachmentId && attachmentId.length > 0) {
//do something
}
Это будет делать для массивов и более сложных объектов, которые случаются иметь length
собственности. Если вложения должно быть строкой кода выше, будет работать так же, но вторая часть будет в основном быть Noop, так что вы можете просто пойти с:
if (attachmentId) {
//do something
}
Я предполагающее сравнение с 'undefined'
был ошибка - сделайте это, и вы не проверяете, действительно ли что-то действительно undefined
. Вы проверяете, что он отличается от строковой строки, которая говорит «undefined».
Также вы проверяете переменную сначала из-за short circuit rule. Это либо null
, либо не определено, что вам все равно. В противном случае, если вы попытались оценить длину, прежде чем проверять, есть ли она undefined
или null
, вы можете отправить туда ошибку.
'= вложений 'undefined'' не то же самый, как' = undefined' вложение – karthikr
После того, как мы знаем, что это реально! вопрос, мы можем выбрать другой вопрос, чтобы закрыть это как дубликат. –