literal-expr-obj.js (987B)
1 // Copyright (C) 2014 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 es6id: 12.2.8.5 5 description: Object reference in expression position of TemplateLiteral 6 info: | 7 TemplateLiteral : TemplateHead Expression TemplateSpans 8 9 1. Let head be the TV of TemplateHead as defined in 11.8.6. 10 2. Let sub be the result of evaluating Expression. 11 3. Let middle be ToString(sub). 12 ---*/ 13 14 var plain = {}; 15 var custom = { 16 toString: function() { 17 return '"own" toString'; 18 } 19 }; 20 21 assert.sameValue(`${plain}`, '[object Object]'); 22 assert.sameValue(`1${plain}`, '1[object Object]'); 23 assert.sameValue(`${plain}2`, '[object Object]2'); 24 assert.sameValue(`1${plain}2`, '1[object Object]2'); 25 26 assert.sameValue(`${custom}`, '"own" toString'); 27 assert.sameValue(`1${custom}`, '1"own" toString'); 28 assert.sameValue(`${custom}2`, '"own" toString2'); 29 assert.sameValue(`1${custom}2`, '1"own" toString2'); 30 31 reportCompare(0, 0);