<div dir="ltr">The only use that came to mind was detecting a property descriptor in a prototype chain. Sure is not a day to day use case, but it's useful when writing libraries that involve descriptor modifications (decorators, for example, will largely involve it). Recently I had to get the descriptor of properties in a potencial deep inheritance (current Object helpers only return own descriptors), and used the `in` operator to guard the prototype recursive search.<div><br>``` js<br><div>const searchRecursivelyPropDescriptor = (obj, prop) =></div><div>  !obj</div><div>    ? undefined</div><div>    : Object.getOwnPropertyDescriptor(obj, prop) || searchRecursivelyPropDescriptor(Object.getPrototypeOf(obj), prop);<br><br></div>const getPropertyDescriptor = (obj, prop) => <br>  prop in obj ? searchRecursivelyPropDescriptor(obj, prop) : undefined;<br>```</div><div><br></div><div>Anyways, we can't simply ignore the operator, if we are getting a `!instance` and opening precedence to future operators (`!on` or `!hasOwn`) I don't see any problems with a `!in`. Legacy bad design should not affect language consistency of new features.<br><br><div class="gmail_quote"><div dir="ltr">Em qui, 19 de jul de 2018 às 12:07, Mike Samuel <<a href="mailto:mikesamuel@gmail.com">mikesamuel@gmail.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Thu, Jul 19, 2018 at 10:40 AM Augusto Moura <<a href="mailto:augusto.borgesm@gmail.com" target="_blank">augusto.borgesm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Of couse the usage of `in` is most of the time is not recommended, but it has it place. </div></blockquote><div><br></div></div></div><div dir="ltr"><div class="gmail_quote"><div>What places does it have?</div><div>I remain unconvinced that `in` has significant enough use cases to warrant high-level ergonomics</div><div>were it being proposed today.</div><div><br></div><div>It exists, and it'll probably never be removed from the language, but I don't think it should be taught<br></div><div>as a good part of the language, and linters should probably flag it.</div><div><br></div></div></div>
</blockquote></div></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Augusto Moura</div></div></div>