title: Null check operator used on a null even if the ? is already added
body: <p>I have 2 newbie questions here.</p>
  <p>1st question: Why it won't go through the statement <code>print('it will NOT go here.');</code></p>
  <p>I got the error <code>Null check operator used on a null value</code>. But I already added <code>?</code> to say that it can be null in the <code>Price?</code> class.</p>
  <p>2nd question: Why this statement <code>if (_price != null)</code> shows <code>The operand can't be null, so the condition is always true.</code> But I know that it can be null since it is possible that it is not existing. Please help me understand what's going on. Thanks!</p>
  <p>This is my code:</p>
  <pre><code>DocumentReference&lt;Map&lt;String, dynamic&gt;&gt; docRefPrice =
  db.collection('dataPath').doc('ThisIsNotExisting'); 
  print('it will go here - 1'); 
  final DocumentSnapshot&lt;Map&lt;String, dynamic&gt;&gt; documentSnapshotPrice = await docRefPrice.get(); 
  print('it will go here - 2'); 
  Price? _price = Price.fromFirestore(documentSnapshotPrice); 
  print('it will NOT go here.'); 
  if (_price != null) { 
    print('_price is not null'); 
  } 
  else { print('_price is null'); 
    return false; 
  }
  </code></pre>
  <p>Edit add <code>fromFirestore</code>:</p>
  <pre><code>  factory Price.fromFirestore(DocumentSnapshot&lt;Map&lt;String, dynamic&gt;&gt; doc) {
      Map data = doc.data()!;
  
      return Price(
        price1: data['text1'],
        price2: data['text2'],
      );
    }
  </code></pre>
  <p>This is the link that I tried to understand: <a href="https://dart.dev/codelabs/dart-cheatsheet" rel="nofollow noreferrer">https://dart.dev/codelabs/dart-cheatsheet</a></p>