JavaScript 변수와 자료형

이충섭·2024년 1월 22일
0

변수

: 메모리에 값을 계속 바꾸어 가면서 저장할 수 있는 공간

  • 변수에 이름을 붙이고 원하는 값을 대입하면 필요한 곳에서 변수명을 호출하여 저장된 값을 사용할 수 있다.

  • 변수명 명명 규칙
    - 의미 있는 이름을 작성 (대충 a, b 이런식으로 짓는것을 지양)
    - 대, 소문자 구분
    - 특수 문자는 _만 사용 가능.(단, 첫글자 제외)
    - 숫자도 사용 가능 (단, 첫글자 제외)
    - 카멜 표기법으로 작성

  • [카멜 표기법(Camel Case)]
    문장, 여러 단어를 변수명으로 작성할 때 이어지는 첫번째 단어를 대문자로 작성
      ex) user name -> userName

JavaScript 변수의 종류와 특징

  • var : 변수, 변수명 중복이 가능(덮어쓰기), 함수 레벨 scope
    -> 먼저 선언된 변수가 나중에 선언된 변수에 엎어 씌어짐
  • let : 변수, 변수명 중복이 불가, 블록{} 레벨 scope
    -> var의 변수 중복 문제를 해결
  • const : 상수, 변수명 중복 불가, 블록{} 레벨 scope
    -> 한번 값이 대입되면 새로운 값을 대입할 수 없음
    	1순위 : const (JS는 특정 요소를 선택해서 사용하는 경우가 많기에 const 상수에 고정시켜둠)
    	2순위 : let
    	3순위 : var
  • 함수 레벨 스코프
    : 함수 내에서 선언된 변수는 함수 내에서만 유효하며, 함수 외부에서는 참조할 수 없다
    즉, 함수 내부에서 선언한 변수는 지역 변수이며, 함수 외부에서 선언한 변수는 모두 전역 변수이다

  • 블록 레벨 스코프
    : 모든 코드 블록 내에서 선언된 변수는 코드블록 내에서만 유효하며, 코드블록 외부에서는 참조할 수 없다.
    즉, 코드블록 내부에서 선언한 변수는 지역변수이다.

자바스크립트의 자료형

자바스크립트는 변수 선언 시 별도의 자료형을 지정하지 않음
-> 변수에 대입되는 값(리터럴)에 의해서 자료형이 결정됨.

    - string (문자열)
    - number (숫자) -> 정수/실수 모두 포함
    - boolean (논리값) -> treu(참), false(거짓)
    - object (객체) -> 배열(array), 자바스크립트 객체 {k:v, k:v ..}
    - function (함수)
    - undefined (정의되지 않은 변수) -> 변수가 선언만 되고, 값이 대입되지 않음

    (참고)
    - null (타입보단 값(리터럴)의 개념)
	: 참조하는 것이 없음
	-> ex) document.getElementById("오타")
    (가장 흔한 경우)
	-> id가 일치하는 요소가 없어서 참조할 수 없다
  • typeof 연산자 : 변수/값의 자료형을 출력하는 연산자

추가 Object(객체) 자료형

1) 배열(Array) : 여러 값이 나열되어 있는 것의 묶음
2) JS 객체
: 값을 K:V (map) 형식으로 여러개 저장하는 형태
-> { K:V, K:V, :K:V .. }K(key) : 값을 구분하는 이름(변수명과 유사)
V(value) : K에 대응되는 값 (변수에 대입되는 값과 유사)

  • 객체에 존재하는 값 하나씩 얻어오기

    	방법 1 : 변수명['key']
    	방법 2 : 변수명.key

0개의 댓글