gpt4 book ai didi

javascript: !( booleanCondition() ) vs ( booleanCondition() == false )

转载 作者:搜寻专家 更新时间:2023-11-01 04:37:37 26 4
gpt4 key购买 nike

标题说明了一切,但假设我有一个返回 true 或 false 的 hasAccess() 函数

我在 ExtJS 4 工具栏按钮配置中使用它,如下所示:

{
id: 'btnEditMyStuff',
ref: 'edit_my_stuff',
xtype: 'button',
text: 'Edit',
hidden: !( MyUser.hasAccessTo('EditMystuff') )
}

即使在 Firebug 中测试时此表达式被正确评估为 false,我的按钮不会显示。

但是有了这个:

{
id: 'btnEditMyStuff',
ref: 'edit_my_stuff',
xtype: 'button',
text: 'Edit',
hidden: ( MyUser.hasAccessTo('EditMystuff') == false )
}

按钮正确显示。

问题是:有什么区别?

我在这里忽略了什么神秘的比较运算符/函数评估优先级?

我想 sleep 时不像昨天那么笨。提前致谢。

编辑:

 hidden:  !( MyUser.hasAccessTo('EditMystuff') )  // does not work
hidden: (!MyUser.hasAccessTo('EditMystuff') ) // works

但我仍然渴望完全理解。

最佳答案

嗯,你基本上是对的

!(true) is false
!(false) is true

 true == false is false
false == false is true

所以如果输入只有 true 和 false 但如果输入是一个空数组那么你可以拥有

 ![] is false

但是

  []==false is true

关于javascript: !( booleanCondition() ) vs ( booleanCondition() == false ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16794918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com