Assuming those variables are all booleans why wouldn't it be?
&& returns the falsy value on the left side of the expression if it evaluates to a falsy value
(undefined && true) evaluates to undefined
correspondingly || returns the truthy value (which might be an object) on the left hand side if evaluates truthy. That's useful for expressions like this:
const a = b || 'default value';
!! turns truthy/falsy values into booleans.
So the point of the comment is moot...
Python: None and None -> None