| // Copyright (C) 2017 Robin Templeton. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| /*--- |
| description: The Unary + Operator throws a TypeError on BigInt numbers |
| esid: sec-unary-plus-operator-runtime-semantics-evaluation |
| info: | |
| UnaryExpression: + UnaryExpression |
| |
| 1. Let expr be the result of evaluating UnaryExpression. |
| 2. Return ? ToNumber(? GetValue(expr)). |
| |
| ToNumber ( argument ) |
| |
| BigInt: Throw a TypeError exception |
| features: [BigInt] |
| ---*/ |
| assert.throws(TypeError, function() { |
| +0n; |
| }, '+0n throws TypeError'); |
| |
| assert.throws(TypeError, function() { |
| +1n; |
| }, '+1n throws TypeError'); |
| |
| assert.throws(TypeError, function() { |
| +-1n; |
| }, '+-1n throws TypeError'); |
| |
| assert.throws(TypeError, function() { |
| +1000000000000000n; |
| }, '+1000000000000000n throws TypeError'); |