?. - оператор необов'язкового ланцюгування (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(250);