JS에는 "else if"가 없습니다.

문법이 장난이 아닙니다...



정확히는 자바스크립트 문법에는 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에 대해 정확히 동일한 수준의 지식을 가질 수는 없음) 두 가지 옵션이 있습니다.
  • 그가 시키는 대로 하세요... 효과가 있다면.
  • 나가서 그 이유를 확인하라

  • 항상 좋은 부분에 신경을 쓰지만 무엇보다도 항상 지식에 관심을 갖고 규칙에 따라 코딩하지 마십시오.

    모범 사례는 많은 사람들이 받아들여야 합니다.

    좋은 웹페이지 즐겨찾기