// 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'`" );