// Copyright 2020 Salesforce.com, Inc. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: prod-OptionalExpression description: > Productions for ?. Arguments info: | OptionalChain[Yield, Await]: ?. Arguments features: [optional-chaining] ---*/ function fn(arg1, arg2, arg3 = 0) { return arg1 + arg2 + arg3; } assert.sameValue(fn?.(10, 20), 30, 'regular'); assert.sameValue(String?.(42), '42', 'built-in'); assert.sameValue(fn ?. (...[10, 20, 40]), 70, 'spread');