자바스크립트의 ++someVariable 대 someVariable++
JavaScript에서 사용할 수 있습니다.++
변수 이름 앞 또는 뒤에 연산자를 입력합니다.변수를 증가시키는 이러한 방법들 사이의 차이점은 있다면 무엇입니까?
다른 언어와 동일:
++x
(사전 계산)은 "변수를 계산합니다. 식의 값은 최종 값입니다."를 의미합니다.x++
(post-continue)는 "원래 값을 계산한 다음 변수를 증분합니다. 식의 값은 원래 값입니다."를 의미합니다.
이제 독립 실행형 문으로 사용할 경우 다음과 같은 의미를 갖습니다.
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/ 을 참조하십시오.
저는 증가 후와 증가 전을 이해하는 것에 대한 설명이 있습니다.그래서 저는 이것을 여기에.
할당합니다.0
로.x
let x = 0;
사후 증분으로 시작합니다.
console.log(x++); // Outputs 0
왜요?
자, 이제.x++
아래로 표현
x = x;
x = x + 1;
첫 번째 문은 다음 값을 반환합니다.x
어느 것이0
나중에 사용할 때x
임의의 장소에서 변수가 발생하면 두 번째 문이 실행됩니다.
두 번째 문은 이 값을 반환합니다.x + 1
라는 표현(0 + 1) = 1
의 가치를 염두에 두십시오.x
이 상태에서1
이제 사전 증분부터 시작하겠습니다.
console.log(++x); // Outputs 2
왜요?
자, 이제.++x
아래로 표현
x = x + 1;
x = x;
첫 번째 문은 이 값을 반환합니다.x + 1
라는 표현(1 + 1) = 2
두 번째 문은 다음 값을 반환합니다.x
어느 것이2
그렇게x = 2
이리하여 그것은 되돌아옵니다.2
이것이 증가 후 및 증가 전이 무엇인지 이해하는 데 도움이 되기를 바랍니다!
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
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
더 선명하고 빠르게 사용할 수 있습니다.++i
경우: 능한경우가경::
++i
의 값 사 용 는 있 장 보의 을 사용하고 합니다.i
당신이 변하지 않는 한 그것은 변하지 않을 것입니다.i
i++
있 사 수 니 습 다i
은 "에 이고, 하다면, .
물론, 그것은 정말로 훨씬 더 빠르지는 않습니다, 단지 약간일 뿐입니다.
언급URL : https://stackoverflow.com/questions/3469885/somevariable-vs-somevariable-in-javascript
'programing' 카테고리의 다른 글
다중 경로 값을 사용하는 ASP.NET MVC URL 라우팅 (0) | 2023.08.05 |
---|---|
개발자 도구를 사용하여 웹킷 입력 자리 표시자 검사 (0) | 2023.08.05 |
UIViewController의 뷰를 하위 뷰로 추가하는 방법 (0) | 2023.08.05 |
@단위 테스트에서 콩을 가져오기 위한 가져오기 vs. @ContextConfiguration (0) | 2023.08.05 |
이미지를 Amazon ECR에 푸시할 수 없음 - "기본 인증 자격 증명 없음"으로 실패함 (0) | 2023.08.05 |