title: What is the logic behind the TypeScript error "The operand of a 'delete' operator must be optional"?
body: <p>This is the new error that is coming in typescript code.</p>
  <p>I am not able to realize the logic behind it<br/>
  <a href="https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html#operands-for-delete-must-be-optional" rel="noreferrer">Documentation</a></p>
  <pre><code>/*When using the delete operator in strictNullChecks, 
  the operand must now be any, unknown, never, or be optional 
  (in that it contains undefined in the type). Otherwise, use of the delete operator is an error.*/
  
  interface Thing {
    prop: string;
  }
  
  function f(x: Thing) {
    delete x.prop; // throws error = The operand of a 'delete' operator must be optional.
  }
  </code></pre>