optional-expression.js (666B)
1 // Copyright 2019 Google, Inc. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 esid: prod-OptionalExpression 5 description: > 6 optional chain on recursive optional expression 7 info: | 8 Left-Hand-Side Expressions 9 OptionalExpression: 10 OptionalExpression OptionalChain 11 features: [optional-chaining] 12 ---*/ 13 14 const obj = { 15 a: { 16 b: 22 17 } 18 }; 19 20 function fn () { 21 return {}; 22 } 23 24 // OptionalExpression (MemberExpression OptionalChain) OptionalChain 25 assert.sameValue(22, obj?.a?.b); 26 // OptionalExpression (CallExpression OptionalChain) OptionalChain 27 assert.sameValue(undefined, fn()?.a?.b); 28 29 reportCompare(0, 0);