Community Plugin
View plugin on GitHubGatsby plugin for babel optional chaining operator
Description
This plugin enables the optional chaining operator (a?.b) TC39 proposal for Gatsby.
How to install
Install the plugin and its dependencies:
npm i gatsby-plugin-babel-optional-chaining @babel/core @babel/plugin-proposal-optional-chainingor
yarn add gatsby-plugin-babel-optional-chaining @babel/core @babel/plugin-proposal-optional-chainingAdd the plugin to gatsby-config.js:
module.exports = {
plugins: [
// other plugins
'gatsby-plugin-babel-optional-chaining',
],
}Examples of usage
const obj = {
foo: {
bar: {
baz: 42,
},
},
};
const baz = obj?.foo?.bar?.baz; // 42
const safe = obj?.qux?.baz; // undefined
// Optional chaining and normal chaining can be intermixed
obj?.foo.bar?.baz; // Only access `foo` if `obj` exists, and `baz` if
// `bar` exists
// Example usage with bracket notation:
obj?.['foo']?.bar?.baz // 42