大多数时候,我们使用If else语句并编写等效的语法糖很容易。
condition?trueExecute:falseExecute
它的句法糖是
const NUMBER = 5346789123;
let anotherNew = NUMBER.toString();
let stringNumber = "";
let newString = anotherNew.length;
for(let numCount = 0; numCount < newString; numCount++){
if (anotherNew[numCount] == 4){
console.log('we have removed 4');
continue;
}
if (anotherNew[numCount] == 9){
console.log('we have a break');
break;
}
stringNumber += anotherNew[numCount];
console.log(stringNumber);
}
但是我在下面的代码中遇到问题,因为我不想使用else 。最重要的是,我想循环使用break或continue 功能。当我使用普通的If语句时;该代码是完美的。但是无论何时我尝试使用语法糖代替if,它都无法执行。
有没有可能的解决方案,因为我发现的所有示例都没有解决这个问题
我的代码:
anotherNew[numCount] == 4? console.log('we have removed 4') continue;
anotherNew[numCount] == 9? console.log('we have a break') break;
语法糖,我试图用来替换if语句,但是会导致错误
Response.StatusCode = (Int32)HttpStatusCode.BadRequest;
return Content("Zażółć gęsią jaźń. And, the quick brown fox jumps over the lazy dog. ");
答案 0 :(得分:2)
我尝试使用语法糖
The conditional operator不是语法糖。它是具有特定用途的特定运算符,您只是在错误地使用它。它用于有条件地生成一个值作为整体表达式,如果条件为真,则为一个值,如果条件为假,则为另一个。
例如:
let x = input == 'one' ? 1 : 0;
该表达式根据条件产生一个整数值。
如果条件为真,您要执行的就是简单地执行一段代码。并且您已经有了用于该工具的if
语句:
if (anotherNew[numCount] == 4){
console.log('we have removed 4');
continue;
}
这里的总体教训是不要尝试让代码变得太聪明。您使用if
语句是为了达到其正确和正确的目的。该代码简单,明确,即使不经意间也易于理解。这些都是好东西。不要用简洁,复杂的代码来代替它们,它们以不直观的方式使用工具,只是节省了一些击键。
答案 1 :(得分:0)
anotherNew[numCount] == 4? console.log('we have removed 4') continue;
anotherNew[numCount] == 9? console.log('we have a break') break;
这不仅仅是语法糖。它是三元运算符或条件语句。它不能总是替换代码中的if else块。
三元运算符执行语句,并根据语句或它们的结果为true
或false
给出输出,而在if / else块中,我们可以给出所需的任何条件。这是个很大的差异。您不能盲目地使用一个代替另一个。使用它们时,您必须牢记某些规则。