{"ScriptPreparationCode":"var obj = {a: {b: {c: {d: 1}}}}\r\nvar badObj = {}","TestCases":[{"Name":"Optional Chaining","Code":"// Compiled code from TSC\r\n// obj?.a?.b?.c?.d ?? 2\r\n// badObj?.a?.b?.c?.d ?? 2\r\n\u0022use strict\u0022;\r\nvar _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\r\n_e = (_d = (_c = (_b = (_a = obj) === null || _a === void 0 ? void 0 : _a.a) === null || _b === void 0 ? void 0 : _b.b) === null || _c === void 0 ? void 0 : _c.c) === null || _d === void 0 ? void 0 : _d.d, (_e !== null \u0026\u0026 _e !== void 0 ? _e : 2);\r\n_k = (_j = (_h = (_g = (_f = badObj) === null || _f === void 0 ? void 0 : _f.a) === null || _g === void 0 ? void 0 : _g.b) === null || _h === void 0 ? void 0 : _h.c) === null || _j === void 0 ? void 0 : _j.d, (_k !== null \u0026\u0026 _k !== void 0 ? _k : 2);","IsDeferred":false},{"Name":"Lodash","Code":"_.get(obj, [\u0027a\u0027, \u0027b\u0027, \u0027c\u0027, \u0027d\u0027], 2)\r\n_.get(badObj, [\u0027a\u0027, \u0027b\u0027, \u0027c\u0027, \u0027d\u0027], 2)","IsDeferred":false}]}