[JavaScript]변수, 원시 자료형/참조 자료형 , 함수 [TIL 2일차]

JUNGHUN KIM·2021년 6월 15일
0
post-thumbnail

변수(Variable)

변수란..?

  • 데이터를 다루는 방법
  • 상황에 따라 변할 수 있는 값을 의미
  • 데이터 보관함 같은 것이며 각 보관함의 크기는 모두 동일
  • 상황에 따라 변할 수 있는 값
  • 프로그래밍 세계에서 변수는 이름(Label)이 붙은 값

변수 사용법

변수는 보관함을 확보하는 선언(declaration)과 보관함에 데이터를 할당(assignment)가 존재

선언(declaration)

  • let,const로 선언이 가능하며 보관함을 확보한다고 보면됨.
  • 한번에 여러개의 변수를 선언하는 것도 가능.

let myname;
const myage;
let a , b, c ,d;

  • let과 const의 차이점
    let : 변수는 업데이트 할 수 있지만 다시 선언 할 수는 없다. (재선언 X, 재할당 O)
    const : 변수를 변경 하거나 다시 선언 할 수 없다. (재선언 X, 재할당 X)

할당(assignmnet)

  • 선언된 변수에 값을 할당하여 보관함에 데이터를 저장

myname = 'Junghun';
myage = 29;

선언와 할당을 동시에 하는것도 가능

let myname = 'Junghun';
const myage = 29;

변수 사용시 주의사항

  • 변수명에는 공백을 사용하지 못함
  • 변수명의 단어의 첫글자는 대문자를 사용 (camel Case : 낙타 대문자 작성법)
  • 변수를 두번 이상 선언하게 될 경우문법 오류 발생

====================================================================

====================================================================

원시 자료형/ 참조 자료형

원시 자료형(primitive type)

원시 자료형에서는 6종류가 존재(String, Number, Boolean, Undefined, Symbol, Bigint, Null

데이터 보관함 한 칸에 하나의 데이터만 넣을 수 있음.
let과 var는 재할당이 가능하지만 const는 재할당이 불가
변수의 크기는 고정되어져 있음.
Stack에 직접적인 변수의 값이 들어감.

원시 자료형의 변수 복사

변수에 직접 데이터 값을 넣어준다. 각 변수간에 원시타입 데이터를 복사할 경우에 데이터 값이 복사되기 때문에 기존의 데이터에 영향이 가지 않는다.


let x = 100;
let y = x;
x = 99;
console.log(y) // 100

참조 자료형(reference type)

참조 자료형에는 3가지 종류가 존재 ( 배열 [], 객체 {}, 함수 (function(){}) )
원시 자료형이 아닌것은 모두 참조 자료형이라고 보면됨.
참조 자료형은 주소를 복사하며 복사한 데이터에서 값을 변경하게 된다면 주소안의 데이터가 변경되기 때문에 기존의 데이터에도 영향이 가게 됨.


참조 자료형은 코드에 따라 담길 수 있는 정보의 크기가 다르기 때문에 동적으로 변수의 크기가 변해야한다.
참조자료형은 메모리 공간에 데이터를 저장하고 변수에는 그 공간의 주소만 참조하도록 함.
데이터를 보관함이 아닌 heap에 저장하며 heap에는 데이터가 위치한 곳을 알려주는 주소가 저장되어져 있음.
원시 자료형이 할당될 때에는 변수에 값(Value)가 담기고, 참조 자료형이 할당될 때에는 보관함의 주소(reference)가 담김.

참조 자료형의 변수 복사

데이터 복사시에는 데이터의 참조가 복사된다.


let x = {count: 100};
let y = x;
x.count = 99;
console.log(y) // count: 99

====================================================================

====================================================================

함수(function)

함수란..?

논리적인 일렬의 작업을 하는 하나의 단위
어떤 목적을 가진 작업들을 수행하는 코드들이 모인 블록
필요 할때마다 호출하여 해당 작업을 반복해서 수행이 가능함.
함수는 항상 출력값을 반환한다.

함수의 문법

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 변환값;
};

함수의 호출

함수명([인자,인자])

profile
개발자가 되고 싶은 일문학도

0개의 댓글