With and without "namespaceSelector: {}"

I want to know what is the difference between the 2 policies when i add namespaceSelector: {} and in case of remove it

 ingress:
    - from:
      - podSelector:           
          matchLabels:
            app: nginx
        namespaceSelector: {}

And the below policy

 ingress:
    - from:
      - podSelector:           
          matchLabels:
            app: nginx

What is know if you didn’t specify “namespaceSelector: {}” will allow any pod has the above labels and selectors from any where, then why we mention “namespaceSelector: {}”.

namespaceSelector: {} makes an explicitly empty value for namespace selection, i.e. allow all namespaces.

Without namespaceSelector, the policy restricts ingress to pods in the same namespace as you created the policy in.