Null component is not null?

After getting component its reference is not null if component not exists,

problem at line 34:

if (RootRigidbody == null)

If RigitBody2D not exists it returns object with null reference but not null, if replace it with

if (RootRigidbody.Equals(null))

It will work fine, but I don’t understand this behavior, can you say what I’m doing wrong?
Reference is not null:
92903-1.png
But component is missing:

Hi, it must be because Unity redefines “==” operator on Monobehaviors. You can get more info in Unity’s blog post here: Custom == operator, should we keep it? | Unity Blog