?.

?. - оператор необов'язкового ланцюгування (Optional Сhaining).

Синтаксис:

obj?.prop arr?.[index] func?.(args)

Параметри:

obj - об'єкт.

arr - масив.

func - функція.

Опис:

?. оператор необов'язкового ланцюгування перевіряє наявність властивості, функції і повертає або виконує ліву частину.

Приклад:

var obj={ a:1, user:{ name:'js', first:'JavaScript' } }; var b=obj.user?.name; alert(b);

Аналогічно можна виконати:

var obj={ a:1, user:{ name:'js', first:'JavaScript' } }; var b=((obj.user == null || obj.user == undefined) ? undefined : obj.user.name); alert(b); var ob={ foo: { a:'JS' } }; var s=ob?.foo?.a || 'none'; alert(s);
Перевірка і виконання методу window.navigator.vibrate() при наявності: window.navigator?.vibrate(250);