Strict mode Passingnon-Strict mode Passing
Features:
- Symbol
// Copyright (C) 2012 Ecma International. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-json.stringify description: > Replacer paramter of wrong type is silently ignored. info: | JSON.stringify ( value [ , replacer [ , space ] ] ) [...] 4. If Type(replacer) is Object, then a. If IsCallable(replacer) is true, then i. Set ReplacerFunction to replacer. b. Else, i. Let isArray be ? IsArray(replacer). ii. If isArray is true, then 1. Set PropertyList to a new empty List. features: [Symbol] ---*/ var obj = {key: [1]}; var json = '{"key":[1]}'; assert.sameValue(JSON.stringify(obj, {}), json); assert.sameValue(JSON.stringify(obj, new String('str')), json); assert.sameValue(JSON.stringify(obj, new Number(6.1)), json); assert.sameValue(JSON.stringify(obj, null), json); assert.sameValue(JSON.stringify(obj, ''), json); assert.sameValue(JSON.stringify(obj, 0), json); assert.sameValue(JSON.stringify(obj, Symbol()), json); assert.sameValue(JSON.stringify(obj, true), json);