A safe way to access a null object's children
Have you ever encountered this error?
Uncaught TypeError: Cannot read property 'name' of null
    at <anonymous>:5:31
It’s probably because you tried to access the child object of a null object inline. Let’s take a look at some different scenarios.
Here the nested object is complete. All child objects have a value, and as we expect using console.log does not throw an error.
var salesOrder = {
    author: {
        name: 'John',
        lastName: 'Doe'
    }
}
console.log(salesOrder.author.name) // John
In this scenario, the first-level object author is set to null.  When you try to access the name object, you’ll get an error.
var salesOrder = {
    author: null
}
console.log(salesOrder.author.name)
And as you may guess it’s the ever infamous cannot read property ‘value’ of null
Uncaught TypeError: Cannot read property 'name' of null
    at <anonymous>:5:31
The safest way to go about this issue, is to access the object through short-circuit evailuation. It’s a feature in most languages that simplifies an inline if-else statement and provides a safe way of unwrapping objects.
Some languages implement it differently, but they still provide the same output.
Javascript
var salesOrder = {
    author: null
}
console.log(salesOrder && salesOrder.author && salesOrder.author.name) // null
C#
class Author {
    public string name { get; set; }
    public string lastName { get; set; }
}
class SalesOrder {
    public Author Author { get; set; }
}
var salesOrder = new SalesOrder {
    Author = null
};
Console.WriteLine(salesOrder?.author?.name) // null, but does not throw an error
Not so funny thought of the day:
Have you ever thought about how most Software questions you ask a search engine may trigger some kind of switch in the FBI? ‘How to fork multiple child’, ‘Kill parent’, ‘Destroy object’.
