29 lines
344 B
JavaScript
29 lines
344 B
JavaScript
"use strict";
|
|
|
|
const obj = {
|
|
a: {
|
|
b: {
|
|
c: {
|
|
d: 2,
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
const a = obj?.a;
|
|
expect(a).toBe(obj.a);
|
|
|
|
const b = obj?.a?.b;
|
|
expect(b).toBe(obj.a.b);
|
|
|
|
const bad = obj?.b?.b;
|
|
expect(bad).toBeUndefined();
|
|
|
|
let val;
|
|
val = obj?.a?.b;
|
|
expect(val).toBe(obj.a.b);
|
|
|
|
expect(() => {
|
|
const bad = obj?.b.b;
|
|
}).toThrow();
|