$ find . -regextype posix-extended -regex "\./\w+\.(json)"
其中
var aString = "test ";
aString = aString + true?"Appended":"No Append"; // 'Appended'
到底发生了什么?
答案 0 :(得分:3)
第一种情况将if (Build.VERSION.SDK_INT >= 25) {
ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
ShortcutInfo leaveShortcut = new ShortcutInfo.Builder(this, "shortcut_leave")
.setShortLabel("Leave Manager")
.setLongLabel("Leave Manager")
.setIcon(Icon.createWithResource(this, R.drawable.app_icon))
.setIntents(
new Intent[]{
new Intent(Intent.ACTION_MAIN, Uri.EMPTY, this, LeaveManagerActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK),
})
.build();
ShortcutInfo searchShortcut = new ShortcutInfo.Builder(this, "shortcut_search")
.setShortLabel("Employee search")
.setLongLabel("Employee search")
.setIcon(Icon.createWithResource(this, R.drawable.app_icon))
.setIntents(
new Intent[]{
new Intent(Intent.ACTION_MAIN, Uri.EMPTY, this, SearchActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK),
})
.build();
shortcutManager.setDynamicShortcuts(Arrays.asList(leaveShortcut, searchShortcut));
}
添加到true
,然后检查三元。
基本上这是带括号的操作
aString
总体答案是(aString + true) ? "Appended" : "No Append"
优于+
的运算符优先级。
?

答案 1 :(得分:1)
我认为在这种情况下,aString + true会在表达式的其余部分之前进行评估。
所以你得到了
if(aString + true) {
aString = "Appended";
}
你用括号固定,把它变成
if(true) {
aString = aString + "Appended";
}
答案 2 :(得分:1)
原因是javascript运算符优先级(look)