ProgramingTip

쉼표와 세미콜론을 사용하고 있습니까?

bestdevel 2020. 12. 29. 07:44
반응형

쉼표와 세미콜론을 사용하고 있습니까?


다음 코드가 주어집니다.

var fn = function () {
    var x = 'x',
    y = 'y';
    this.a = 'a',
    this.b = 'b',
    this.c = 'c';
    this.d = 'd',
    this.e = 'e';   
}

보시다시피 두 가지가 혼합되어 있습니다.

둘 중 하나를 사용하면 어떤 이점이 있습니까?

내 이해는 세미콜론이 멋진 끝내는 것입니다. 그리고 쉼표를 사용하여 여러 선언을 함께 묶어야합니다.

두이 예에서는 세미콜론이 개만 사용하는 것이 안전하고 있습니까?

var fn = function () {
    var x = 'x',
    y = 'y';
    this.a = 'a',
    this.b = 'b',
    this.c = 'c',
    this.d = 'd',
    this.e = 'e';   
}

쉼표 연산자는 내에서 사용할 수있는 연산자입니다. 여러 개의 다른 저장 파일을 분리하는 데 사용하고 "다음 사용할 수있는 값을 사용합니다."라는 의미를 갖습니다. 예를 들면 :

a = 1, b = 2, c = 3

"평가 a = 1한 다음 b = 2, 그런 다음 c = 3내가 쓰는 값으로 평가합니다 c = 3.

세미콜론은 연산자가 아니고 식 내에서 사용할 수 없습니다. 문으로 처리되는 객체의 끝을 표시하기 위해 JavaScript 구문의 일부로 사용됩니다. 예를 들어 다음과 같이 말할 수 있습니다.

a = 1; b = 2; c = 3;

그리고 이것은 "순서대로해야 할 세 개의 문장이 있습니다 : 첫 번째 표현을 첫 문장으로, 두 번째 표현을 두 번째 문장으로, 세 번째 표현을 세 번째로 평가합니다."

이와 관련하여 둘은 완전히 상호 교환 할 수 없습니다. 예를 들어, 당신은 쓸 수 없습니다

var a = 1, var b = 2;

때문에 var a = 1그리고 var b = 2문이 아닌 표현, 따라서 쉼표로 분리 될 수 없습니다 있습니다. 여기서 세미콜론을 많이 사용합니다.

(참고 : 다음과 같이 말할 수 있습니다.

var a = 1, b = 2;

언어가 선언문 구문의 일부로 쉼표 사용을 특별히 허용하기 때문입니다. 여기서 쉼표는 사용하지 않는 연산자입니다.)

말할 수 없습니다

a = (b = 1; c = 2);

여기서 식의 오른쪽은 문이 아니라 식이어야하며 문 ;을 구분하는 데 사용되기 때문입니다. 내부 세미콜론은 대신 쉼표 집집합니다. (다시 말하지만,이 코드는 처음에는 꽤 어색하고 특이이 작업을 전혀하지 말아야합니다!)

문체의 관점에서 쉼표 연산자는 거의 사용하지 않고 합리적으로 유능한 JavaScript 코더가있을 수 있습니다. 그 결과, 쉼표를 사용하여 구문으로 사용하는 것이 좋습니다 구분하는 것이 동등하고 구문 적으로 합법적이라 할지라도 할지라도 할지라도 사용하지 않고 대신 세미콜론을 사용하여 구문을 종료하는 것이 좋습니다.

도움이 되셨기를 바랍니다!


아니요, 쉼표에는 세 가지 의미가 있습니다.

  1. 변수 선언을 사용하면 var앞에있는 각 변수 생략 할 수 있습니다 .
  2. 식을 사용하면 "쉼표 연산자는 두 피연산자 (왼쪽에서 오른쪽으로)를 모두 평가하고 두 번째 피연산자의 값을 반환합니다."
  3. 함수 선언과 함수 호출에서 인수를 분리하십시오. 그러나 모든 프로그래머에게 분명해야합니다.

두 예;

alert((2,3)); //3

var 문의 쉼표는 대체 연산자가 아닙니다. 오히려 var 문에서 여러 개를 하나로 결합하는 특수 문자입니다. 실제로 쉼표는 쉼표 연산자와 거의 동일하게 작동합니다.

MDN

쉼표 연산자는 언제 유용합니까?


정말 중요하지 않습니다. 내가 아는 한 쉼표를 사용하면 속도 이점이 없습니다.

원하는 것을 사용하십시오 :)

이것이 바로 JavaScript-The Good Parts의 말입니다.

쉼표 연산자는 지나치게 까다로운 식으로 이어질 수 있습니다. 또한 일부 프로그래밍 오류를 가릴 수 있습니다.

JSLint는 쉼표를 구분 기호로 사용하지만 연산자로는 사용할 수 없습니다 (for 문의 초기화 및 증가 부분 제외). 배열 리터럴에서 제거 된 요소를 볼 것으로 예상하지 않습니다. 추가 쉼표는 사용하지 마십시오. 쉼표는 일부 브라우저에서 잘못 해석 될 수 있으므로 배열 리터럴 또는 개체 리터럴의 마지막 요소 뒤에 표시되지 않아야합니다.


항상 관습과 일관성을 유지하는 것이 가장 좋습니다. 모두 세미콜론이거나 모두 쉼표이며 모든 곳에서 쉼표보다 세미콜론을 사용하는 것이 좋습니다.

속도 증가도 없기 때문에 걱정할 필요가 없습니다.

참조 URL : https://stackoverflow.com/questions/15485735/use-of-commas-versus-semicolons

반응형