谁能帮我理解这个函数在线发生了什么
function getContainer(container, defaultContainer) {
//this line below
container = typeof container === 'function' ? container() : container;
return ReactDOM.findDOMNode(container) || defaultContainer;
}
container 正在被分配 typeof container 的结果,但如果 container 等于一个函数,则调用该函数。
我有点头晕。此代码是从 react 组件模态的 Material ui 文档中提取的
最佳答案
它说的是:
if
container
是一个函数,将它分配给一个名为 container
的变量,然后该函数将被调用,else
将变量 container
设置为传递给 getContainer
函数的参数 container
。
你也可以这样写,这样可能更容易阅读:
if (typeof container === 'function') {
container = container();
} else {
container = container;
}
在您的示例中,它使用三元运算符,这是编写 if
/else
语句的另一种方式。您可以阅读更多here .
关于javascript - 有人可以解释这条线在做什么吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51341018/