포스트

04. 변수와 자료형

1) 변수 선언 위치에 따른 구분

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(JAVA)
public class Student{
  // 필드 (멤버변수)
  private String name; // 인스턴스 변수
  public static String schollName; // static 변수, 클래스변수

  // 메서드
  public void method( String name ){
            // 매개변수 (파라미터)

    int num = 10; // 메서드 지역변수

    if(num > 10){
      int a = 20; // if문 지역변수
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(Javascript) 
script 태그 내부 / js 파일

var num1; // 전역변수
num2; // 전역변수(변수명 앞에 키워드가 아무것도 없으면 전역변수)

function test(){
  var num3; // 지역변수
  num4; // 전역변수 (function이 끝나도 사용 가능함)

  if(조건식){
    var num5; // 지역변수
    //(if 내부 선언 후 ~ function 끝까지 사용 가능)

    num6; // 전역변수
  }
}

2) 변수 선언 방식

1
2
3
4
5
6
7
8
9
10
Javascript는 변수 선언  자료형이 아닌 var, let, const, (미작성)  하나를 골라서 작성한다

var : 변수, 변수명 중복 O (덮어쓰기), 함수 레벨 scope
let : 변수, 변수명 중복 X, 블록 {} 레벨 scope
const : 변수, 변수명 중복 X, 블록 {} 레벨 scope

1 순위 : const (JS는HTML상에서 특정 요소를 선택해 지속적으로 추적하는 경우가 많다. 상수형 변수에 저장해 고정적으로 사용)
2 순위 : let
3 순위 : var
4 순위 : 미작성

3) Javascript의 자료형

1
2
3
4
5
6
7
8
9
10
11
JS는 변수 선언  별도의 자료형을 지정하지 않음
=> 변수에 대입되는 (== 리터럴) 의해서 자료형이 결정됨.

  - string (문자열 / "abc", 'abc')
  - number (숫자 / 100(정수), -3.14(실수))
  - boolean (논리값 / true, false)
  - object (객체 / 배열(Array), JS객체 {K:V, K:V})
  - function (함수)
  - undefined (자료형이 정의되지 않은 변수) => 값이 대입되지 않은 변수

  * null은 참조하는게 없음을 나타내는 리터럴 (자료형 X)