Javascript简写语法解释



我在项目中使用了这种语法。我能得到这个代码的解释吗?

// Handles focus on error title.
var error = $('#consentError')[0];
error && error.focus();

这是if((条件的简写语法吗。

是的,代码相当于

var error = $('#consentError')[0];
if (error) {
error.focus();
}

if版本绝对更易于阅读和理解。使用&&方法会创建一个未使用的表达式,这很奇怪,通常被linters禁止。

但是jQuery有一个更好的方法来实现这一点——只需在jQuery集合上调用focus,它就会在本机元素上调用.focus(),如果有这样的元素(如果没有,它什么都不会做——它不会抛出(。

$('#consentError').focus();

最新更新