{"ScriptPreparationCode":"var person = {name: \u0027Frederick\u0027, lastName: \u0027Corcino Alejo\u0027, details: {eyes: \u0027brown\u0027, hobbies: [\u0027skiing\u0027, \u0027cooking\u0027]}};","TestCases":[{"Name":"Lodash get","Code":"_.get(person, \u0027details.hobbies.1\u0027);","IsDeferred":false},{"Name":"Native naive","Code":"person.details.hobbies[1]","IsDeferred":false},{"Name":"Guarded native","Code":"person \u0026\u0026 person.details \u0026\u0026 person.details.hobbies \u0026\u0026 person.details.hobbies.length \u0026\u0026 person.details.hobbies[1]","IsDeferred":false},{"Name":"Shimmed get.","Code":"const get = (obj, path, defaultValue) =\u003E {\r\n const result = String.prototype.split.call(path, /[,[\\].]\u002B?/)\r\n .filter(Boolean)\r\n .reduce((res, key) =\u003E (res !== null \u0026\u0026 res !== undefined) ? res[key] : res, obj);\r\n return (result === undefined || result === obj) ? defaultValue : result;\r\n};\r\nget(person, \u0027details.hobbies.1\u0027);","IsDeferred":false},{"Name":"Optional chaining","Code":"person?.details?.hobbies?.[1]","IsDeferred":false}]}