Source code
Revision control
Copy as Markdown
Other Tools
// Copyright (C) 2017 Robin Templeton. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: Conversion of BigInt values to booleans
esid: sec-logical-not-operator-runtime-semantics-evaluation
info: |
UnaryExpression: ! UnaryExpression
1. Let expr be the result of evaluating UnaryExpression.
2. Let oldValue be ToBoolean(? GetValue(expr)).
3. If oldValue is true, return false.
4. Return true.
ToBoolean ( argument )
BigInt: Return false if argument is 0n; otherwise return true.
features: [BigInt]
---*/
assert.sameValue(!0n, true, "!0n");
assert.sameValue(!1n, false, "!1n");
assert.sameValue(!-1n, false, "!-1n");
reportCompare(0, 0);