Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

나만의 코딩 일지

[Javascript] 변수(Variable)와 상수(Constant) 본문

Javascript

[Javascript] 변수(Variable)와 상수(Constant)

namgung 2022. 6. 28. 17:57

변수(Variable)

변수는 데이터를 저장할 때 쓰이는 저장소 같은 역할을 하며 그 저장소에 이름을 표현하는 것을 변수라고 한다.

let str = "변수 테스트";
let a = 5;

위에 코드를 보게 되면 let 키워드를 사용해 변수를 생성하고 str와 a는 변수에 이름이 된다. 그리고 오른쪽에 있는 데이터가 각각 str와 a 안에 들어가게 되는 원리이다.

변수의 특징

  1. 변수는 let 또는 var 키워드를 상용해 변수를 생성한다.
 변수의 키워드는 let과 var 두 가지가 있다. 이 두 개의 변수 키워드의 기능은 똑같다. 
 하지만  var은 오래전에 사용했던 키워드고 최근에는 let 키워드를 많이 사용한다.
  1. 변수의 값을 저장할 때는 = 할당 연산자를 사용해 오른쪽에 있는 데이터를 외쪽에 있는 변수에 값을 저장한다.
let str = "문자열";  // 오른쪽에서 왼쪽으로 데이터를 대입한다. 
var a = 7;
  1. 변수는 재사용이 가능하다. (단 변수는 재사용이 가능하지만 중복 사용은 불가능하다.)
let str = "문자열";
srt = "재사용"; // 하나의 변수의 다른 데이터로 재사용이 가능한다. 
----------------------------------------------------------------------------
let str = "문자열";
let str = "중복 사용 불가능"; // 변수 키워드를 사용하게 되면 새로운 변수를 생성하는 거와 같다. 
즉 동일한 이름을 가진 변수가 생기게 되는데 javascript에서는 동일한 변수 이름을 가진 변수는 컴파일 오류가 난다. 
  1. 한 줄에 여러 개의 변수를 한 번에 선언이 가능하다.
let name = "이름", phoneNumber = "010-0000-0000", age = 25;

상수(constant)

상수는 한 번 정해진 값을 변경할 수 없다. 키워드로는 let 대신 const를 사용한다.

const str = "상수";
const a = 7;

상수의 특징

  • 상수명 대문자 : 상수명을 대문자로 지정할 때는 보통 실해 전에 이미 그 값이 어떤 값인지 알고 있을 때 상수명을 대문자로 사용한다.
  • 상수명 소문자 : 상수명을 소문자로 사용할 때는 보통 실행전 그 값이 어떤 값인지 모를 때 상수명을 소문자로 사용한다. 즉 런타임 시 결정되는 값을 의미한다.
const AGE = 25; // 실행 전에 어떤 값인지 알 수 있다.
const age = prompt("나이를 입력하세요"); // 런타임 시 어떤 값인지 알 수 있다.

변수명 규칙

  • 대소문자를 구별한다
  • 변수 이름 맨 앞에는 _, $이외의 특수문자는 사용할 수 없다.
  • 숫자는 변수 이름 맨 앞에 사용할 수 없다.
  • 예약어(let, class, return...) 목록에 있는 단어는 변수명으로 사용할 수 없다.
  • 카멜 방식을 사용한다.
    • 카멜 방식이란? : 여러 단어로 이루어져 있을 때 맨 앞에 단어를 제외한 그다음에 오는 단어의 맨 앞에 문자는 대문자를 사용한다. ex) userName, carName, phoneNumber...

'Javascript' 카테고리의 다른 글

[Javascript] 배열 사용법  (0) 2022.06.28
[Javascript] 반복문, 함수  (0) 2022.06.28
객체, 배열  (0) 2022.06.28
[Javascript] synchronous 와 asynchronous 차이  (0) 2022.06.28
[Javascript] async, await  (0) 2022.06.28