++ someVariable과 JavaScript의 someVariable ++
JavaScript에서는 ++
연산자를 사전 증가 ( pre-increment ) 또는 변수 이름 ( post-increment ) 뒤에 사용할 수 있습니다 . 변수를 증가시키는 이러한 방법의 차이점은 무엇입니까?
다른 언어와 동일
++x
(사전 증가)는 "변수 증가; 표현식의 값은 최종 값"을 의미합니다.x++
(증분 후)는 "원래 값을 기억하고 변수를 증가시킵니다. 표현식의 값은 원래 값입니다"를 의미합니다.
이제 독립형 명령문으로 사용될 때 동일한 의미를 갖습니다.
x++;
++x;
다른 곳에서 표현식의 값을 사용할 때 차이가납니다. 예를 들면 다음과 같습니다.
x = 0;
y = array[x++]; // This will get array[0]
x = 0;
y = array[++x]; // This will get array[1]
++x
값을 증가시킨 다음 평가하고 저장합니다.x++
값을 평가 한 후 증가시켜 저장합니다.
var n = 0, m = 0;
alert(n++); /* Shows 0, then stores n = 1 */
alert(++m); /* Shows 1, then stores m = 1 */
++x
변수를 읽고 수정 한 다음 평가 및 저장하기 때문에 가능한 경우 사용하면 약간의 성능 이점이 있습니다. x++
값을 읽고 평가하고 수정 한 후 저장 하는 연산자 와 비교하십시오 .
당신이 그들을 독립형으로 사용한다면 내가 이해하는 것처럼 그들은 같은 일을합니다. 결과를 표현식으로 출력하려고하면 결과가 다를 수 있습니다. 차이점을 보려면 alert (++ i)와 비교하여 alert (i ++)을 시도하십시오. i ++는 추가하기 전에 i로 평가하고 ++ i는 평가하기 전에 추가를 수행합니다.
예는 http://jsfiddle.net/xaDC4/ 를 참조하십시오 .
나는 어제 C / C ++의 잘못된 가정에 대한 질문에 대한 응답 을 읽는 것에 대해 생각하고있었습니다 . 모든 경우에 자바 스크립트가 이런 식으로 작동한다고 보장 할 수 있습니까? 아니면 더 복잡한 명령문 내에서 증가 명령문을 사용하는 것이 좋지 않다고 생각합니까?
var x = 0, y = 0;
//post-increment: i++ returns value then adds one to it
console.log('x++ will log: ', x++); //0
console.log('x after x++ : ', x); //1
//pre-increment: adds one to the value, then returns it
console.log('++y will log: ', ++y); //1
console.log('y after ++y : ', y); //1
var a = 1;
var b = ++a;
alert('a:' + a + ';b:' + b); //a:2;b:2
var c = 1;
var d = c++;
alert('c:' + c + ';d:' + d); //c:2;d:1
참고 URL : https://stackoverflow.com/questions/3469885/somevariable-vs-somevariable-in-javascript
'programing tip' 카테고리의 다른 글
한 줄에 Java 로깅 출력을 표시하려면 어떻게합니까? (0) | 2020.07.18 |
---|---|
여러 개의 태그를 선택하는 XPath (0) | 2020.07.18 |
파이썬“속성”과“속성”의 차이점은 무엇입니까? (0) | 2020.07.18 |
JavaScript에서 CSS 의사 클래스 규칙 설정 (0) | 2020.07.18 |
목록에 후행 쉼표가 허용되는 이유는 무엇입니까? (0) | 2020.07.18 |