0

When I use delete keyword as a function it returns boolean and if I pass anything it doesn't throw error

const foo = 0
delete(foo) // false

const bar = 1
delete(bar) // false

delete(unknown) // true

delete(5) // true

I don't understand this behaviour so I wanna someone to explain to me why javascript works like that

  • You're not using it "as a function". You just use the `delete` operator on a parenthesised expression. Notice you get exactly the same results with `delete foo`, `delete bar`, `delete unknown` and `delete 5`. – Bergi Nov 12 '21 at 00:06

1 Answers1

1

You may wanna take a look here:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete

The return value is:

true for all cases except when the property is an own non-configurable property, in which case, false is returned in non-strict mode.

WolverinDEV
  • 1,494
  • 9
  • 19