생활 웹디자인

연산자

토픽 생활 웹디자인 > 인터렉션 > Javascript 수업
본 수업은 폐지 예정입니다. 자바스크립트 언어 수업웹브라우저 자바스크립트로 수업이 리뉴얼 되었기 때문에 이것을 이용해주세요.

연산에 사용되는 기호들. (y = 5 일 때)

Operator Description Example Result
+ 더하기 x=y+2 x=7
- 빼기 x=y-2 x=3
* 곱하기 x=y*2 x=10
/ 나누기 x=y/2 x=2.5
% 나머지 x=y%2 x=1
++ 증가 x=++y x=6
-- 감소 x=--y x=4

example1.html - (jsfiddle, github)

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
	</head>
	<body>
		<script>
			var x = 10;
			alert(x + 1); // 11을 출력한다.
			
			// ++y와 y++ 는 y=y+1과 같지만 다음과 같은 차이가 있다.
			y = 20;
			alert(++y); // 21을 출력한다.
			y = 20;
			alert(y++); // 20을 출력한다.
			alert(y); // 21를 출력한다.
			// ++가 앞에 있으면 y의 값을 1을 더한 값이 리턴되고, 뒤에 있으면 y의 값을 리턴한 뒤에 값을 더한다.
		</script>
	</body>
</html>

 

댓글

댓글 본문
  1. helensten
  2. Boterati
    Jsfiddle버전 예제의 주석에서

    // ++y와 ++y 는 y=y+1과 같지만 다음과 같은 차이가 있다. 라고 적혀있네요.

    // ++y와 y++ 는 y=y+1과 같지만 다음과 같은 차이가 있다. 로 수정해야할듯합니다.

    동영상에두요.
  3. i++ 와 ++i는 아래 댓글처럼 중간에 끼어들어갈때가 문제가 되는데...

    한문장으로 쓸 때는 무슨 지랄을 해도 똑같은 결과가 나옵니다.

    하지만 왠지 i++가 더 예뻐보여서 저렇게 쓰곤 하죠...
  4. 빛남
    이게 참 헷갈리는 부분인데요. ++y는 해당 구문?에서 바로 더하기 1을 한다는 뜻이구요. y++는 해당 구문에서는 일단 변화가 없지만 그 구문을 벗어나자마자 바로 1을 더한다고 생각하시면 될듯 해요. 그렇기 때문에 alert(y++)에 다음 명령여 alert(y)에서야 1이 더해진 21이 나오는 것이죠
    대화보기
    • ㄹㅇㄴ
      x = y 라고 할 때..

      x = ++6 는 6에 +1을 하고 x 로 넘기는 걸 뜻해요.
      x = 6++ 는 6을 먼저 x로 넘기고, y값에 +1을 한다는 겁니다.
    • 키리~
      1) alert(++y) : y = y +1; alert(y);
      2) alert(y++) : alert(y); y= y+1;

      ^^
      대화보기
      • renz
        ++y 와 y++ 차이점을 좀 더 알고 싶어요!

        결과값이 21 / 20 인데

        설명에 "y값을 리턴한 뒤 값을 더한다". 라는게 무슨 뜻인지 궁금합니다
      • Guest
        순차적 실행에서 차이가 있겠죠? (어떤 건 먼저 불러와야 웹에서 오류가 없는 것도 있다고 하드라고염. 세션같은 것들 말이죠. ...) 뭐.. 자바스크립트에서는 순차적으로 읽어들일 때 브라우젼나 서버에서 처리하는 순서나 연산에서 값처리하고 기다리고 어쩌구 저쩌구.. 차이가 나지 않을까 생각됩니다.. 고수님들 즐겁게 답글을 달아 주시면 좋겠네요.
        대화보기
        • zoooo
          수업잘듣구 있습니다~ 그런데 *은 asterisk아니에용?& 이게 엠퍼센드로 알고 있는데용용...
        • Guest
          <script>태그가 <head>안에 있을 때하고 <body> 안에 있을 때하고 차이는 없나요?</script>