JavaScript

변수

변수(Variable)는 (문자나 숫자 같은) 값을 담는 컨테이너로 값을 유지할 필요가 있을 때 사용한다. 여기에 담겨진 값은 다른 값으로 바꿀 수 있다. 변수는 마치 (사람이 쓰는 언어인) 자연어에서 대명사와 비슷한 역할을 한다.

변수의 선언

JavaScript에서 변수는 var로 시작한다. var은 변수를 선언하겠다는 것을 의미한다. var을 생략 할수도 있지만 이것은 유효범위라는 것에 영향을 미친다. 그렇기 때문에 var의 의미를 명확하게 이해하기 전까지는 var를 사용하는 것이 권장된다. 유효범위에 대해서는 뒤에서 살펴볼 것이다. 변수의 이름은 $, _, 혹은 특수 문자를 제외한 모든 문자로 시작할 수 있다. 다음 예제는 변수에 값을 대입한 예제다.

var a = 1;
alert(a+1);  //2

var a = 2;
alert(a+1);  //3

//은 주석(comment)으로 코드에 부가적인 설명을 쓰거나 사용하지 않는 코드를 비활성화시키기 위해서 사용한다. //뒤에 따라오는 내용은 해석되지 않는다.

세미콜론(;)은 하나의 구문이 끝났음을 명시적으로 나타내는 기호다. 다음처럼 한줄에 여러구문을 사용하고 싶을 때 세미콜론이 유용하다.

a = 1; alert(a+1);

JavaScript에서는 세미콜론을 생략할 수 있는데, 이 경우 줄바꿈을 명령의 끝으로 간주하게 된다.

위의 실습 결과는 각각 2와 3이 출력될 것이다. 변수 a에 담겨 있는 값이 1일 때는 a+1의 결과가 2가 된다. 두번째 결과가 3이 된 것은 a의 값이 2로 바뀌었고, 2+1의 결과인 3이 출력된 것이다.

다음 예제는 변수의 값이 꼭  숫자만 올 수 있는 것은 아니라는 것을 보여주기 위해서 만든 예제다.

var first = "coding";
alert(first+" everybody");

변수 a에 coding ,변수 b에 everybody를 활당하는 방법은 아래와 같다.

var a = 'coding', b = 'everybody';
alert(a);
alert(b);

 변수가 없다면

변수는 코드의 재활용성을 높여준다. 예를들어서 100에 10을 더하고, 10을 나눈 후에 다시 10을 빼고 거기에 10을 곱해야 한다고 치자. 그리고 각 단계마다 그 결과를 출력해야 한다면 코드는 아래와 같을 것이다.

alert(100+10);
alert((100+10)/10);
alert(((100+10)/10)-10);
alert((((100+10)/10)-10)*10);

그런데 계산해야 할 값을 100이 아니라 1000으로 바꿔야 한다면 위의 코드를 모두 수정해야 할 것이다. 변수를 적용해보자.

a = 100;
a = a + 10;
alert(a);
a = a / 10;
alert(a);
a = a - 10;
alert(a);
a = a * 10;      
alert(a);

위의 코드에서 첫번째 줄의 100을 다른 숫자로 바꾸면 나머지 로직에 대입되는 변수의 값이 모두 바뀐다. 수정해야 할 코드가 적다는 것은 그만큼 해야 할 일이 줄어든다는 의미고, 그 과정에서 버그가 발생할 가능성을 낮출 수 있다. 변수의 효용은 뒤에서 배우게 될 반복문, 조건문, 함수와 결합되면 더욱 더 중요해진다.

댓글

댓글 본문
작성자
비밀번호
  1. 뿡뿡팡야
    완료
  2. codingㅈㅁ
    ----- BEGIN LICENSE -----
    Member J2TeaM
    Single User License
    EA7E-1011316
    D7DA350E 1B8B0760 972F8B60 F3E64036
    B9B4E234 F356F38F 0AD1E3B7 0E9C5FAD
    FA0A2ABE 25F65BD8 D51458E5 3923CE80
    87428428 79079A01 AA69F319 A1AF29A4
    A684C2DC 0B1583D4 19CBD290 217618CD
    5653E0A0 BACE3948 BB2EE45E 422D2C87
    DD9AF44B 99C49590 D2DBDEE1 75860FD2
    8C8BB2AD B2ECE5A4 EFC08AF2 25A9B864
    ------ END LICENSE ------?
  3. codingㅈㅁ
    여러분 모두에게 도움을 드리고 귀찮니즘을 없애드리겠습니다.
    서브라임의 정식 라이센스을 무료로(원래 이러면 안되긴 하지만) 받을 수 있는 살짝의 양심이 찔리는 방법입니다.
    100%됩니다.
    https://www.youtube.com......3CQ
  4. 제이
    :D
  5. 한강
    오늘도 감사합니다.!
  6. 김은경
    완료
  7. 팬들을위해
    완료
  8. ProgrammerJoon
    alert(string + int) 혹은 alert(int + string) 을 수행하면, int 가 string 형태로 변경되네요 ~
  9. 익진
    완료
  10. 2020.01.08
  11. ㅁㅇ
    완료
  12. 호설맘
    완료
  13. 모모
    완료
  14. 완료
  15. choiseok
    완료
  16. 영호팍
    완료!
  17. 굼벵이
    완료
  18. 오현주
    2019.12.09 수강
  19. hsak0601
    완료
  20. galangal
    19.11.12 완료
  21. 좋은강의 감사합니다
    수강완료 19 11 10
  22. 미켈란젤로
    191108 완료
  23. 마두사랑
    11-11까지
  24. 10/11/2019
    완료!!
  25. 홍주호
    20191011 완료
  26. 완료
  27. 박창신
    완료
  28. 김기웅
    완료
  29. ㄷㅈㅇㄱ
    아직 잘 모르겠지만 그래도
    190904
  30. Cussle
    190902
  31. 소리벗고팬티질러
    190829 done!!!!!>< 많이 잤는데 잠 오면 어떻게 해야하나요
  32. 재밌어요
    너무 재밌네요. 설명도 잘해주시고
  33. 부아아아아아아아아아아아아아아아앙
    끝!
  34. Done!
  35. 190801
  36. 후줄근
    190720 완료
  37. 오마이갓더
    190710 완료
  38. 용용
    190710 완료
  39. 숩숩이
    19.07.08 완료
  40. 송정은
    2019.6.30완료
  41. 2019.05.06 완료
  42. 와따시와박준서데스
    굿
  43. 만춘
    19.04.02 완료
  44. 쌀쌀
    20190308
  45. 김현준
    굿굿
  46. 도토리묵
    완료
  47. 호두
    20190208
  48. 미완성
    20190108
  49. choon
    감사합니다.
  50. 문장 해석을 좀 잘못 하신 듯 하네요
    "변수의 이름은 $, _, 혹은 특수 문자를 제외한 모든 문자로 시작할 수 있다."
    의 의미는 변수이름은 문자로 시작하거나 $ 또는 _로 시작할 수 있다는 얘기입니다.
    즉, 변수명은 숫자나 $, _를 제외한 특수문자로 시작할수 없다는 얘기죠. Yoonho Aaron Kim님이 얘기하신 내용이 포함되어 있는 얘기입니다.
    대화보기
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기