3 个回答

虽然有点长,但还是能看出来就是个逻辑运算,等价于:

this.capsTooltip = false;

// 满足下面三个条件,则为真
if(key){
    if(key.length === 1){
        if(key >= 'A' && key <= 'Z'){
            this.capsTooltip = true;
        }
    }
}
  1. 如果 key 转为布尔值为 false,那 capsTooltip 的值就是 key;
  2. 否则即 key == true。这时如果 key.length === 1 为 false,那么 capsTooltip 的值就为 false;
  3. 否则即 key.length === 1 为 true。这时 capsTooltip 的值就是 key >= 'A' && key <= 'Z' 的结果了,就要么 true 要么 false 了。

这段代码的含义楼上已经说了, 虽然一眼能看懂, 但是这种写法还是非常不建议的.
建议改为

  const singleKey = key && key.length === 1;
  const isAlphabet = key >= 'A' && key <= 'Z' 
  this.capsTooltip =  singleKey && singleKey;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题