[javascript] JavaScript 한 줄 ‘if’문-최고의 구문,이 대안?

비록 의견이 적지 않더라도 한 줄로 된 중괄호는 잊어 버렸습니다. if 문장 것이 유지 관리 성과 가독성에 이상적이지 않다는 은 그리 많지 않습니다.

하지만 이건 어때?

if (lemons) { document.write("foo gave me a bar"); }

더 압축되어 있으며 확장하면 중괄호를 잊어 버리지 않습니다. 뻔뻔스러운 문제가 있습니까? 그렇지 않은 경우 고려해야 할 사항은 무엇입니까? 어쨌든 적어도 삼항 연산자만큼이나 여전히 읽을 수있는 것처럼 느낍니다. 필자는 그 결론이 만장일치가 아니라고 생각하지만 삼항 연산자는 가독성으로 인해 많이 제안되지 않는 것처럼 보입니다.

구문이 의미있는 것은 아니지만 아마도 나쁜 생각 일 수도 있지만 내 사악한 쌍둥이는 이것을 제안하고 싶습니다.

(syntax) ? document.write("My evil twin emerges"): "";



답변

나는 이것을 &&달성하는 데 사용 된 연산자 의 단락 동작을 보았지만 이것에 익숙하지 않은 사람들은 그것을 읽지 못하거나 반 패턴이라고 부를 수도 있습니다.

lemons && document.write("foo gave me a bar");  

개인적으로, 나는 종종 한 줄을 사용합니다 if 다음과 같이 대괄호없이 을 합니다 :

if (lemons) document.write("foo gave me a bar");

문을 더 추가해야 할 경우 다음 줄에 괄호를 추가합니다. 내 IDE가 자동 들여 쓰기를 수행 하므로이 연습에 대한 유지 보수 이의 제기는 무의미합니다.


답변

나는 이것을 다음과 같이 사용한다 :

(lemons) ? alert("please give me a lemonade") : alert("then give me a beer");


답변

PHP에서 일반적으로 사용되는이 형식을 사용할 수 있습니다.

(lemon) ? document.write("foo gave me a bar") : document.write("if condition is FALSE");


답변

이 한 줄은 훨씬 더 깨끗합니다.

if(dog) alert('bark bark');

나는 이것을 선호한다. 그것이 누군가를 돕기를 바랍니다


답변

이것을 사용할 수 있습니다

lemons ? alert("please give me a lemonade") : alert("then give me a beer");

설명 : lemons존재한다면 나에게alert("please give me a lemonade") else alert("then give me a beer")


답변

// 또 다른 간단한 예

 var a = 11;
 a == 10 ? alert("true") : alert("false");


답변

많은 사람들이 말했듯이 실제 1 줄을 찾고 있다면 다음과 같습니다.

    if (Boolean_expression) do.something();

선호됩니다. 그러나 if / else를 원한다면 삼항은 친구입니다 (또한 멋지다).

    (Boolean_expression) ? do.somethingForTrue() : do.somethingForFalse();

또한:

    var something = (Boolean_expression) ? trueValueHardware : falseATRON;

그러나 나는 매우 멋진 예를 보았습니다. &&를 위해 @ Peter-Oslson에게 외침

    (Boolean_expression) && do.something();

마지막으로 if 문이 아니지만 map / reduce 또는 Promise.resolve ()로 루프에서 실행하는 것도 재미 있습니다. @brunettdan에 고함