Source code

Revision control

Copy as Markdown

Other Tools

// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 12.2.5
description: >
computed property names can be numbers
---*/
var object = {
[1.2]: 'A',
[1e55]: 'B',
[0.000001]: 'C',
[-0]: 'D',
[Infinity]: 'E',
[-Infinity]: 'F',
[NaN]: 'G',
};
assert.sameValue(
object['1.2'],
'A',
"The value of `object['1.2']` is `'A'`. Defined as `[1.2]: 'A'`"
);
assert.sameValue(
object['1e+55'],
'B',
"The value of `object['1e+55']` is `'B'`. Defined as `[1e55]: 'B'`"
);
assert.sameValue(
object['0.000001'],
'C',
"The value of `object['0.000001']` is `'C'`. Defined as `[0.000001]: 'C'`"
);
assert.sameValue(
object[0],
'D',
"The value of `object[0]` is `'D'`. Defined as `[-0]: 'D'`"
);
assert.sameValue(object[Infinity],
'E',
"The value of `object[Infinity]` is `'E'`. Defined as `[Infinity]: 'E'`"
);
assert.sameValue(
object[-Infinity],
'F',
"The value of `object[-Infinity]` is `'F'`. Defined as `[-Infinity]: 'F'`"
);
assert.sameValue(
object[NaN],
'G',
"The value of `object[NaN]` is `'G'`. Defined as `[NaN]: 'G'`"
);
reportCompare(0, 0);