변수는 보관함을 확보하는 선언(declaration)과 보관함에 데이터를 할당(assignment)가 존재
let myname;
const myage;
let a , b, c ,d;
- let과 const의 차이점
let : 변수는 업데이트 할 수 있지만 다시 선언 할 수는 없다. (재선언 X, 재할당 O)
const : 변수를 변경 하거나 다시 선언 할 수 없다. (재선언 X, 재할당 X)
myname = 'Junghun';
myage = 29;
let myname = 'Junghun';
const myage = 29;
====================================================================
====================================================================
원시 자료형에서는 6종류가 존재(String, Number, Boolean, Undefined, Symbol, Bigint, Null
데이터 보관함 한 칸에 하나의 데이터만 넣을 수 있음.
let과 var는 재할당이 가능하지만 const는 재할당이 불가
변수의 크기는 고정되어져 있음.
Stack에 직접적인 변수의 값이 들어감.
변수에 직접 데이터 값을 넣어준다. 각 변수간에 원시타입 데이터를 복사할 경우에 데이터 값이 복사되기 때문에 기존의 데이터에 영향이 가지 않는다.
let x = 100;
let y = x;
x = 99;
console.log(y) // 100
참조 자료형에는 3가지 종류가 존재 ( 배열 [], 객체 {}, 함수 (function(){}) )
원시 자료형이 아닌것은 모두 참조 자료형이라고 보면됨.
참조 자료형은 주소를 복사하며 복사한 데이터에서 값을 변경하게 된다면 주소안의 데이터가 변경되기 때문에 기존의 데이터에도 영향이 가게 됨.
참조 자료형은 코드에 따라 담길 수 있는 정보의 크기가 다르기 때문에 동적으로 변수의 크기가 변해야한다.
참조자료형은 메모리 공간에 데이터를 저장하고 변수에는 그 공간의 주소만 참조하도록 함.
데이터를 보관함이 아닌 heap에 저장하며 heap에는 데이터가 위치한 곳을 알려주는 주소가 저장되어져 있음.
원시 자료형이 할당될 때에는 변수에 값(Value)가 담기고, 참조 자료형이 할당될 때에는 보관함의 주소(reference)가 담김.
데이터 복사시에는 데이터의 참조가 복사된다.
let x = {count: 100};
let y = x;
x.count = 99;
console.log(y) // count: 99
====================================================================
====================================================================
논리적인 일렬의 작업을 하는 하나의 단위
어떤 목적을 가진 작업들을 수행하는 코드들이 모인 블록
필요 할때마다 호출하여 해당 작업을 반복해서 수행이 가능함.
함수는 항상 출력값을 반환한다.
function name (매개변수1, 매개변수2) {
함수가 호출 되었을 때 실행하자고 하는 실행문
}
-Keyword(function) name(name) parameter(매개변수) body(실행문)로 구분됨
함수를 선언
3가지가 존재 1. 함수 선언식 2. 함수 표현식 3.화살표 함수
1.함수 선언식
function 함수명([인자, 인자] {
실행문 or 로직
return 변환값;
};
2.함수 표현식
let 함수명 = function([인자, 인자]) {
실행문 or로직
return 변환값;
};
3. 화살표 함수
let 함수명 = ([인자, 인자]) =>{
실행문 or로직
return 변환값;
};
함수의 호출
함수명([인자,인자])