JavaScript_기본문법#1

h_zee·2024년 4월 4일
0

JavaScript

목록 보기
5/5

변수와 상수

📖 변수 생성의 3 단계

  • 선언 -> 초기화 -> 할당
  • 선언 : 실행 컨텍스트에 변수 객체 등록
  • 초기화 : 변수 객체에 등록된 변수를 위해 메모리에 공간 확보.
  • 할당 : 초기화된 변수에 실제 값 할당.

📖 var

  • 가급적 사용하지 않는 것이 좋음.
  • 선언과 초기화를 한 번에 한다. (위에서 변수가 여러 번 선언될 시 마지막의 변수만 살아남는다.)
  • 재선언이 가능하다.
  • 블록 스코프가 아닌 함수 수준 스코프를 가짐.

📖 let

  • 자바스크립트에서 변수를 생성할 때 쓰는 키워드.
  • block-scope 를 갖는다. ( '{ }' 안에서 선언 시, 바깥에서는 사용불가.)
  • 재선언은 불가하다.
  • 재할당은 가능하다.
// 재선언 불가.
let fruit='사과';
let fruit='바나나';

// 재할당 가능.
let fruit='사과';
fruit='바나나';

📖 const

  • 자바스크립트에서 상수를 생성할 때 쓰는 키워드.
  • block-scope 를 갖는다. ( '{ }' 안에서 선언 시, 바깥에서는 사용불가.)
  • 재선언은 불가하다.
  • 재할당은 불가하다.
// 재선언 불가.
const fruit='사과';
const fruit='바나나';

// 재할당 불가.
const fruit='사과';
fruit='바나나';

// 선언과 동시에 할당되기 때문에 할당된 값이 없으면 오류.
const fruit; 

📖 지역 변수, 외부 변수

  • 지역변수
  • 함수 내에서 선언한 변수 (함수 내에서만 접근 가능)
  • 외부변수
  • 함수 외부에서 선언한 변수 (함수 내에서도 접근 가능)
  • 함수 내부에 같은 이름의 지역변수가 존재 시 사용불가.

객체

  • 다양한 데이터를 담을 수 있다. (원시형은 오직 한 타입의 데이터만 담을 수 있다.)

  • key 로 구분된 데이터 집합, 복잡한 개체를 저장할 수 있다.

  • { ... } : 중괄호 안에 여러쌍의 프로퍼티를 넣을 수 있다.

  • key, value 형태.
  • key : 문자형 , value : 모든 자료형
// 객체 생성자 만들기.
let cat = new Object();

// 객체 리터럴 만들기.
let cat = {};

상수 재할당

  • const 로 선언된 객체는 수정될 수 있다. (객체에 대한 참조를 변경하지 못함.)
  • 객체 프로퍼티 보호불가.
const fruit={
	name="apple",
    condition="sweet",
}

fruit.name="banana";

console.log(fruit)   // banana 출력.
fruit={name:"lemon", condition:"sour"};

함수

  • 기본적으로 undefined 반환. (return 이 없을경우.)

📖 함수 선언문 vs 함수 표현식

  • 함수 선언문으로 함수 생성 시 독립된 구문으로 존재.
  • 함수 표현식으로 함수 생성 시 함수가 표현식의 일부로 존재.
  • 함수 선언문은 코드 블록이 실행되기 전 미리 처리되어 블록 내 어디서든 사용 가능
  • 함수 표현식은 실행 컨텍스트가 표현식에 닿으면 생성.
// 함수 선언문

function fruit() {
	console.log("lemon");
}
// 함수 표현식

let fruit = function() {
	console.log("lemon");
}

let fruit2 = () => {
	console.log("lemon2");
}

📖 콜백함수

  • 함수를 값처럼 전달할 때, 인수로 넘겨주는 함수.
const playWithDog = (dog,action) => {
	action(dog);
}

const useBall = (dog) => {
	alert(dog+"과 공으로 놀아줍니다.");
}

playWithDog("happy",useBall);

✍️ 공부한 내용을 정리하는 공간이기 때문에, 정확하지 않은 사실이 들어갈 수 있습니다.

profile
하루하루 성실하게 (비공개 블로그입니다-일부공개)

0개의 댓글

관련 채용 정보