COCO World

[항해99부트캠프]2주차 회고록 - JS함수와 객체, 데이터 타입, 실행 컨텍스트 본문

부트캠프 일기장

[항해99부트캠프]2주차 회고록 - JS함수와 객체, 데이터 타입, 실행 컨텍스트

코코월드주인장 2023. 1. 24. 14:56
1. JS함수와 객체

[1] 자바스크립트의 함수란?

   : 작업을 수행하거나 값을 계산하는 명령문의 집합인 procedure와 비슷하지만, 프로시저가 함수로 쓰이려면 입력을 반드시 받아야 하고,

    입력과 명확한 관계가 있는 출력을 반환해야 합니다. 함수를 사용하기 위해선 함수를 호출할 스코프 내에서 함수를 정의해야 한다.

 

[2]  함수를 생성하는 방법에는 함수 생성자, 함수 표현식, 함수 선언식 등이 존재한다.

 

[3] 자바스크립트의 객체란?

   :  자바스크립트는 객체(object) 기반의 스크립트 언어이며, 자바스크립트를 이루고 있는 거의 "모든 것"이 객체이다.

   객체는 키(key)와 값(value)로 구성된 프로퍼티(property)들의 집합이라 한다.

 

[4] 함수와 객체의 관계

   : 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있는데, 자바스크립트의 함수는 일급 객체이므로 값으로

   취급할 수 있다. 따라서 프로퍼티값으로 함수를 사용할 수 있으며, 프로퍼티 값이 함수로 이루어진 경우, 일반 함수와 구분하기 위해

   "메소드"라고 부른다.

 

[5] 일급 객체 

   : 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다

일급 객체의 조건
1. 변수에 할당(assignment)할 수 있다
2. 다른 함수를 인자(argument)로 전달 받는다
3. 다른 함수의 결과로서 리턴 될 수 있다

 

[6] 객체의 정리

   : 이와 같이 객체는 데이터를 의미하는 프로퍼티(property)와 데이터를 참조하고 조작할 수 있는 동작(behavior)을 의미하는 

   메소드(method)로 구성된 집합이며, 객체는 데이터와 동작을 하나의 단위로 구조화할 수 있어 유용하다.

 

2. 데이터 타입

[1] 자바스크립트의 타입

   : JavaScript 언어의 타입은 "원시값"과 "객체"로 나눈다

[2] 원시 값 (언어의 최고 LowLevel에서 직접 표현되는 불변의 데이터)

  • Boolean 타입 : 논리 요소를 나타내며 true/false 두 가지 값을 가질 수 있다
  • Null 타입 : 어떠한 값이 의도적으로 비어있음을 표현하며 null 하나의 값만 가질 수 있다
  • Undefined 타입 : 값을 할당하지 않은 변수가 갖는 값
  • Number 타입 : (-(2^53 -1)부터 2^53-1)까지의 수와 Infinity, NaN 세개의 값을 의미
  • BigInt 타입 : 임의 정밀도로 정수를 나타낼 수 있는 숫자 원시 값
  • String 타입 : 텍스트 데이터를 나타낼 때 사용하는 값
  • Symbol 타입 : 고유하고 변경 불가능한 원시 값

[3] 객체

   : 식별자로 참조할 수 있는 메모리 상의 값으로 객체 리터럴 구문을 사용해 제한적으로 속성을 초기화할 수도 있고, 

   속성을 추가,제거하는 등 변경할 수 도 있다.

3. 실행 컨텍스트

[1] 실행컨텍스트 개념

   : 실행할 코드에 제공할 환경 정보들을 모아놓은 객체

   자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념

 

[2] 실행 컨텐스트가 활성화 되는 시점에서 발생하는 현상

  • 호이스팅 발생
  • 외부 환경 정보를 구성
  • this 값을 설정

[3] 실행 컨텍스트 구성

  • 전역공간은 자동으로 컨텍스트로 구성된다
  • 함수를 실행한다
  • eval()함수를 싱행한다
  • block을 만든다