Use ?.() to call methods that might not exist:
let obj = {
greet() { return "Hello" }
}
console.log(obj.greet?.()) // "Hello"
console.log(obj.missing?.()) // undefined
And ?.[] for dynamic property access:
let data = null
console.log(data?.["key"]) // undefined (no error)
These prevent crashes when working with uncertain data structures.