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)