15. Property Definition

1. What is Property Definition?

프로퍼티 정의란 프로퍼티 어트리뷰트의 값을 정의하여 프로퍼티의 상태를 관리하는 것이다. 예를 들면 프로퍼티 값을 갱신 가능하도록 할 것인지(writable), 프로퍼티를 열거 가능하도록 할 것인지(enumarable), 재정의 가능하도록 할 것인지(configurable)를 정의할 수 있다.

객체 리터럴이 평가되거나 프로퍼티가 동적 생성될 때 프로퍼티가 생성된다. 자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동 정의한다.

14. let, const and a Block-level Scope

1. Problems with Variables declared with the var keyword

ES5까지 변수를 선언할 수 있는 유일한 키워드는 var 하나였다. var 키워드로 선언된 변수는 다른 언어와는 구별되는 특징을 가진다.

13. Problems with Global Variables

1. Life Cycle of a Variable

변수는 선언에 의해 생성되고 할당을 통해 값을 가진다. 생성된 변수는 언젠가는 소멸한다. 변수가 생성되고 소멸되는 주기를 변수의 생명 주기라고 한다.

변수가 생성된다는 것은 메모리 공간을 차지하는 것이고, 소멸됨은 차지하던 메모리가 해제되는 것이다.

조금 더 정확히 말하면 변수가 소멸된다는 것은 등록된 식별자가 소멸한다는 것이다. 이때 식별자와 값의 바인딩이 해제된다. 어떤 지역 스코프가 사라질 때 그 스코프에 등록된 식별자들이 소멸된다.

12. Scope

The scope determines the extent to which the identifier can be referenced. A scope is a data structure that keeps the binding of identifiers and values, and is managed by the JavaScript engine.

11. Function

What is a Function?

수학에서 함수는 input을 받아 output을 내보내는 일련의 과정(series of processes)을 정의한 것이다.

프로그래밍 언어에서 함수는 input을 받아 output을 내보내는 일련의 과정을 문(statement)들로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다.

함수의 구성 요소로는,

  • parameter(매개변수) : input을 함수 내부로 전달받는 변수
  • argument(인수) : input
  • return value(반환값) : output

함수는 식별자로 함수명을 사용한다.

함수는 함수를 정의함으로써 생성된다. 생성된 함수를 실행시키기 위해서는 함수를 호출해야한다.

10. Comparing primitive and objects

Difference between primitive type and object type

Primitive Type Object Type
immutable value mutable value
stored as value itself stored as reference value (memory address of an object)
Pass by value Pass by reference
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×