Почему мы проверяем значение, если мы уже проверяем длину - PullRequest
2 голосов
/ 15 апреля 2020

Я сбит с толку тем, почему это происходит, я слежу за кодом и там инструктор использовал

<% if(error && error.length > 0) {%> 
    <div class="alert alert-danger" role="alert"><%= error %> </div>
<% } %>
<% if(success && success.length > 0) { %>
    <div class="alert alert-success" role="alert"><%= success %> </div>
<% } %>

Я не понимаю, в чем смысл проверять ошибки и успехи, когда мы уже проверка их длины

Ответы [ 2 ]

3 голосов
/ 15 апреля 2020

Это потому, что error и success могут быть нулевыми, поэтому вы получите ошибку доступа к свойству length из undefined или null

1 голос
/ 15 апреля 2020

Поскольку error и success могут быть undefined или null и на них не будет length, и если вы проверите длину, вы получите ошибку, вместо которой вы можете использовать необязательную цепочку, как это:

<% if(error?.length) {%> 
    <div class="alert alert-danger" role="alert"><%= error %> </div>
<% } %>
<% if(success?.length) { %>
    <div class="alert alert-success" role="alert"><%= success %> </div>
<% } %>
...