линия, которую вы придумали. Это быстрее, чтобы напечатать и IMO, это читает лучше.

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

Flowtype выдает мне сообщение об ошибке, если я пропускаю проверку NULL:

var myEl = new MyElement()
if (document.body != null) { // error on next line if omitted
    document.body.appendChild(myEl)
}

Я должен сделать эту нулевую проверку для тела документа в каждом отдельном обратном вызове, потому что, кто знает, может быть, тело здесь нулевое, верно ?! Я думаю, что это полное излишество. Не только это, но какой смысл в такой простой проверке на ноль? Он просто молча пропустит важную часть программы и покажет неопределенное поведение где-то еще, что сделает отладку приложения намного сложнее. Я бы действительно предпочел просто иметь нулевое исключение на этом этапе, если здесь когда-нибудь произойдет ошибка, потому что, чтобы быть уверенным, что этот крошечный двухстрочный код, который я напишу в javascript, должен быть таким, как в flowtype:

var myEl = new MyElement()
if (document.body != null) {
    document.body.appendChild(myEl)
} else {
    console.error("null error")
}

Итак, 4 дополнительных строки кода и несколько вложений, чтобы отследить что-то, что я получу бесплатно, если я просто позволю приложению работать с ошибкой. И мне нужны эти 4 строки в каждом запросе выбора. На каждом отдельном документе. На каждом getElementByTagName. Одно это, вероятно, увеличивает всю мою кодовую базу на 10%. Какой смысл применять это строго?

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

Ответы на вопрос(1)

Ваш ответ на вопрос