JS에는 "else if"가 없습니다.
4385 단어 thinkconditionaljavascript
문법이 장난이 아닙니다...
정확히는 자바스크립트 문법에는 else if
문이 없습니다.
이전에 몇 번 사용하셨습니까? 왜 아직도 작동합니까?
우리는 항상 다음과 같이 코딩합니다.
function wow(arg){
if(arg === "dog"){
return "LOVELY";
}
else if(arg === "cat"){
return "CUTE";
}
else return "gimme an animal";
}
wow("cat");
//-> "CUTE"
그러나 실제로 일어나고 있는 일은 다음과 같습니다.
function wow(arg){
if(arg === "dog"){
return "LOVELY";
}
else {
if(arg === "cat"){
return "CUTE";
}
else return "gimme an animal";
}
}
wow("cat");
무슨 일이야?
말 그대로 {}
사용에 대한 일부 암시적 JS 동작을 사용하고 있습니다.
else if
문을 사용할 때 {}
를 생략하지만 Javascript 다른 많은 경우와 마찬가지로 이 경우 괄호가 필요하지 않기 때문에 여전히 작동합니다!
...그래서?
이 글을 쓰는 것이 아니라 정말 궁금해서 글을 쓰는 것입니다.
나는 당신이 코딩의 모든 좋은 부분이나 올바른 방법에 대해 생각하게 하기 위해 이 글을 쓰고 있습니다. 그것은 당신이 어떤 방식으로 코드를 작성하도록 강요합니다. 때로는 그것이 실제로 가장 좋은 방법은 아닙니다.
강제, 괄호, 세미콜론 등의 암시적 및 명시적 선언에 대해 논의할 내용이 많이 있습니다.
그러나 진실은 항상 중간에 서 있습니다!.
방법에 대한 몇 가지 특정 규칙만 따르면... 해당 규칙이 작성된 이유를 이해하지 못하고 있으며 이else if
에 대해 생각해야 합니다.
누군가가 당신에게 그렇게 하라고 말했지만 당신은 그것에 대해 완전히 장님이었기 때문에 얼마나 많은 시간 동안 코드를 작성하셨습니까?
내 생각에, 많이.
나는 우리가 그 모든 규칙에 대해 신경 쓰지 않아야 하고 모든 JS 문서를 알아야 한다고 말하는 것이 아닙니다.
지금 당장 당신의 의무는 다른 사람이 이해할 수 있는 좋은 코드를 작성하고 그렇게 하는 것입니다... 몇 가지 규칙은 괜찮지만 그 이유를 알아야 합니다.
누군가 코드를 잘한다고 해서 그의 황금률을 따라야 하는 것은 아닙니다.
그에게 암시적인 것은 아마도 당신과 다른 많은 사람들에게 명시적일 것입니다.
특정 인수에 대해 동일한 지식이 없는 경우(그리고 코드의 모든 단일 부분에서 It에 대해 정확히 동일한 수준의 지식을 가질 수는 없음) 두 가지 옵션이 있습니다.
function wow(arg){
if(arg === "dog"){
return "LOVELY";
}
else if(arg === "cat"){
return "CUTE";
}
else return "gimme an animal";
}
wow("cat");
//-> "CUTE"
function wow(arg){
if(arg === "dog"){
return "LOVELY";
}
else {
if(arg === "cat"){
return "CUTE";
}
else return "gimme an animal";
}
}
wow("cat");
항상 좋은 부분에 신경을 쓰지만 무엇보다도 항상 지식에 관심을 갖고 규칙에 따라 코딩하지 마십시오.
모범 사례는 많은 사람들이 받아들여야 합니다.
Reference
이 문제에 관하여(JS에는 "else if"가 없습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/genta/theres-no-else-if-in-js--24f9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)