Babel是否通过消除死代码来消除三元运算符条件?

时间:2019-06-11 07:53:26

标签: javascript react-native babel reactotron

我正在使用React Native,并且正在使用一个依赖项(Reactotron),该依赖项仅在调试版本中使用,不应在发行版本中存在。在阅读文档时,我发现了在Babel上消除死代码的方法。

let foo = baz;
if (__DEV__) {
  foo = bar;
}

根据this的评论,由于__DEV__将始终为false,Babel将消除发行版本中的if块。但是它仍然对三元运算符有效吗?

const foo = __DEV__ ? bar : baz;

我似乎找不到任何一种对三元体系说任何一种方法的资源。 Babel会在发布版本中简化三元条件吗?

const foo = baz;

用法为以下代码块。我当时正在考虑通过使用三元运算符删除if语句。但是我不确定这是否会阻止Reactotron从发行版本中剥离。

let enhancer = applyMiddleware(...middlewares);

// Add Reactotron enhancer if debug mode
if (__DEV__) {
  const Reactotron = require('@flashmobile:config/reactotron').default;
  enhancer = compose(applyMiddleware(...middlewares), Reactotron.createEnhancer());
}

const store: Store = createStore(reducers, INITIAL_STATE, enhancer);

0 个答案:

没有答案