Best way to deal with Impossible to access an attribute ("isEditable") on a NULL variable ("")
You could combine the first three:

{% if entry is defined and entry and entry.isEditable %}

If the first or second part of this logic fails, it will not check the third part so no error will be thrown. The second part is for the rare cases that a variable with the name entry exists but is null.

If entry is defined, it's always an entry (or at least it should be), so you don't have to check if isEditable is defined.