I want to use a polyfill for optional chaining but I do not want to provide a polyfill for browsers which already support this feature.
Is there a way to determine whether a browser supports optional chaining ?
I want to use a polyfill for optional chaining but I do not want to provide a polyfill for browsers which already support this feature.
Is there a way to determine whether a browser supports optional chaining ?
This works:
const isOptionalChainingSupported = () => {
try {
eval('const foo = {}; foo?.bar');
} catch {
return false;
}
return true;
}
I couldn't find any solutions online. I managed to come up with this:
const getIsOptionalChainingSupported = () => {
try {
const test = {};
const isUndefined = test?.foo?.bar
if (isUndefined === undefined) {
return true
}
} catch {
return false
}
}