🔅 변수 선언 방식
Javascript는 변수 선언 시 자료형이 아닌 var, let, const, (미작성) 중 하나를 골라서 작성함
- var : 변수, 변수명 중복 O (덮어쓰기), 함수 레벨 scope
- let : 변수, 변수명 중복 X, 블록{} 레벨 scope
- const : 상수, 변수명 중복 X, 블록{} 레벨 scope -> 상수는 선언과 동시에 초기화 필수!
==> const > let > var(실무에서 안씀) 순으로 사용!!!
var num1; // 전역변수
num2; // 전역변수(변수명 앞에 키워드 아무것도 없으면 전역변수)
function test(){
var num3; // 지역변수
num4; // 전역변수 (function이 끝나도 사용 가능)
if(조건식) {
var num5; // 지역변수
//if 내부 선언 후 ~ function 끝까지 사용 가능
num6; // 전역변수
}
}
🔅 자료형
JS는 변수 선언 시 별도의 자료형을 지정하지 않는다
-> 변수에 대입되는 값(==리터럴)에 의해서 자료형이 결정됨
- string (문자열 | "abc", 'abc')
- number (숫자 | 100(정수), -3.14(실수))
- boolean (논리값 | true, false)
- object (객체 | 배열(Array), JS객체 {K:V, K:V})
- function (함수)
- undefined (자료형이 정의되지 않은 변수) -> 값이 대입되지 않은 변수
- ** null은 참조하는 게 없음을 나타내는 리터럴(자료형X)
☑️ typeof 변수명
: 해당 변수의 자료형을 반환하는 연산자
☑️ JS 객체
- K:V 쌍으로 이루어짐 (Map 형식)
- key는 무조건 String
- 리터럴 표기법 : {}
- ex) const user = {"K":V, "K":V}
const fnSum = function(n1, n2){ // 익명 함수
return n1 + n2;
}