Есть такой код. Мы получаем все стили параграфов, затем берем первый (который No Paragraph Styles) и запрашиваем на чем он базируется. Так как он корневой - и ни начем не базируется - то свойство объекта существует (что показывает первая проверка), но не определено. Хотим проверить тип - typeof выдает 'undefinded', но после этого вываливается ошибка:
и скрипт прекращает выполнятся дальше (в примере продолжения кода нет, но представим что он есть)
В общем, любое обращение к этой переменной вызывает ошибку.
В чем вопрос - я обошел такое поведение поместив в try... catch... но вопрос как обойтись без отлова этих ошибок.
Насколько я понимаю - где-то в прототипе этого объекта (а может в самом движке) прописано функцией - если обращаются к этой переменной - то выпадать с ошибкой Invalid request on a root style.
Может я ошибаюсь, и это стандартное поведение js.
В общем как в таких случаях (да и в браузере тоже) проверить существование свойства и определено ли оно? без оборачивания в исключения?
P.S. Кстати - а что показывает отладчик - почему значение этой неопределенной переменной выглядит как строка "Invalid request on a root style."?