<자바스크립트 정리 3. 변수>

강민수·2021년 11월 29일
0

03. 변수

1. 변수를 사용하는 이유

우리가 변수를 사용하는 이유는 대개 효율적인 코드의 사용 때문이다. 쉽게 말하자면, 일일이 변수 없이 코드를 사용할 경우 빠르게 수정 사항에 대한 반영이 어렵다. 예를 들어. 우리 코드가 단 몇 줄 짜리라면 상관없다.

하지만, 몇 십 아니 몇 백줄 짜리 코드라면 어떨까?

분명 문제가 생긴다. 일일이 해당 값들을 하나 씩 다 바꿔줘야 하기 때문에, 불 필요한 노가다를 해야만 한다. 이와 달리, 변수를 하나 딱 지정해 놓으면, 그 해당 변수에 해당하는 값만 변경해 주면 끝이기 때문에. 굳이 삽질이 필요없다.

2. 변수이름 짓기 주의 사항.

변수는 단지 내 사용 편의에 의해서 막 짓는 것이 아니다. 변수는 분명 규칙및 주의점이 있다.

  • 한 파일에서 같은 변수 이름을 중복해서 사용할 수 없다.
  • 대소문자 구문 - 변수이름, 함수이름, 연산자 모두 대소문자를 구분한다. 따라서 myName과 MyName은 다른 변수.
  • 변수 이름을 정할 때, 첫 번째 문자는 반드시 글자나 밑줄(_), 달러기호($)중 하나다.
  • 두 번째 문자 부터는 글자, 밑줄, 달러, 숫자 중에서 자유롭게 쓸 수 있다.
  • 변수이름, 함수이름 등 camelCase(카멜케이스) 방식으로 사용한다.

3. 카멜 케이스 혹은 스네이크 케이스

1) camelCase

  • camelCase란 낙타 등처럼 울퉁불퉁하다는 소리.
  • 단어가 새로 시작할 때부터 대문자를 사용.
    ✔️ example)
  • firstSecond
  • myProfileImg
  • toDoListArray

2) snake_case

  • 변수이름에 - 는 사용할 수 없으므로, _ 를 사용한 것. 하지만 잘 사용x
    ✔️ example)
  • first_second
  • my_profile_img
  • to_do_list_array

4. 변수명 짓기에 진심인 이유

실제 개발을 하다보면, 우리는 클래스 명, 변수 명을 잘 지어야 한다는 것을 체감한다. 그래서 심지어 변수명 지어주는 사이트까지 있다.

https://www.curioustore.com/#!/

그렇다면, 왜 변수명 작성에 공을 들이는 걸까?

  1. 다른 개발자, 혹은 먼 훗날의 자기 자신이 이 코드를 더욱 쉽게 이해. (코드의 가독성)
  2. 커뮤니케이션에 들어갈 리소스를 줄일 수 있어 개발의 효율 향상.

5. Let, const

원래 변수는 var만 가능했으나, 버전 업 되면서 let과 cosnt라는 변수가 추가되었다. 다만, 둘의 차이는 분명 있기때문에 사용하는 데 역시 주의를 기울여야 한다.

대표적인 차이는?
:: let vs. const

  • let 키워드를 사용하면 변수 값을 수정 가능.
  • const 키워드를 사용한 변수 값은 수정 불가.
    → let을 쓸지, const를 쓸지는 개발자가 상황에 맞게 정하면 된다. 변수에 값을 할당하고 영원히 수정할 일이 없으면 const를 사용하고, 변수 값이 한 번이라도 수정될 예정이라면 let을 쓰면 된다. 물론 두 개 구분할 필요 없이 var를 써도 되지만, 앞으로 최신 버전에 맞는 문법을 사용하면 좋겠다!

6. Let의 변수 값 수정 방법

let은 변수를 새로 사용할 때만 let이라는 키워드를 붙인다. 이후 해당 값을 수정할 때는 그낭 (이미 선언해둔) 변수명 = 새로운 값; 을 적용하면 된다. 다만, consts는 전술한 바와 같이 키워드 수정이 불가하다.

7. 변수의 생성과 수정의 차이?

let 키워드의 역할은 변수를 생성하는 것!!!!

Ex) let name = "김개발";
let name = "김코딩";

위의 코드는 name이라는 변수의 값을 변경하는 것이 아니라 name이라는 변수를 두 번 생성한 것! 따라서 에러! 따라서 같은 변수 이름을 중복해서는 안 된다!

8. 변수의 선언과 할당의 차이?

변수는 선언만 먼저하고 할당하지 않고 나중에 값을 할당할 수 있다.

let address;
console.log('address : ', address);
address = "선릉";
console.log('address : ', address);
-> address : undefined
address : 선릉

위와 같이 값이 할당되지 않은 상태에서 컴퓨터는 언디파인드를 출력한다. 따라서 값을 출력하기 위해선 할당을 해줘야만 한다.

그렇다면, 변수 명은 중복이 되지 않는다고 했는데…. 값은 어떨까?

값은 중복이 가능하다.

profile
개발도 예능처럼 재미지게~

0개의 댓글