Skip to content

Commit

Permalink
Update 함수와 일급 객체.md
Browse files Browse the repository at this point in the history
  • Loading branch information
houony authored Jul 1, 2024
1 parent 958377c commit daffa51
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion 박성훈/week5/함수와 일급 객체.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@
- Symbol(Symbol.iterator) 프로퍼티는 arguments 객체를 순회 가능한 자료구조인 iterable로 만들기 위한 프로퍼티다.


>
>
>
> +++
>
Expand All @@ -84,7 +86,8 @@
> > 이터레이터 프로토콜 iterator protocol
> >
> > 이터러블의 Symbol.iterator 메서드를 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. 이터레이터는 next 메서드를 소유하며 next 메서드를 호출하면 이터러블을 순회하며 value와 done 프로퍼티를 갖는 이터레이터 리절트 객체를 반환한다. 이러한 규약을 이터레이터 프로토콜이라 하며 이를 준수한 객체를 이터레이터라 한다.이터레이터는 이터러블의 요소를 탐색하기 위한 포인터 역할을 한다.
> >
>
>
> > ![image](https://github.com/houony/Javascript-Deep-Dive-Study/assets/99787274/ad99e14c-7908-487a-8c95-5cbcc9e0c959)
>
>
Expand All @@ -93,6 +96,23 @@
> ![image](https://github.com/houony/Javascript-Deep-Dive-Study/assets/99787274/9e9bbc3d-b648-4907-b24e-80256363c871)
> 이터러블은 for ... of 문으로 순회할 수 있고 스프레드 문법과 배열 디스트럭처링 할당의 대상으로 사용할 수 있다.
>
>
> > for ... of 문
> >
> > for ( 변수 선언문 of 이터러블 ) { ... }
>
>
> > for ... in 문의 형식과 유사하다. for ... in 문은 객체의 프로토타입 체인 상에 존재하는 모든 프로토타입 프로퍼티 중에서 프로퍼티 어트리뷰트 [[Enumerable]]의 값이 true인 프로퍼티를 순회하며 열거한다. 이때 프로퍼티 키가 심벌인 프로퍼티는 열거하지 않는다.
>
>
> > for ... of 문은 내부적으로 이터레이터의 next 메서드를 호출하여 이터러블을 순회하며 next 메서드가 반환한 이터레이터 리절트 객체의 value 프로퍼티 값을 for ... of 문의 변수에 할당한다. 그리고 이터레이터 리절트 객체의 done 프로퍼티 값이 false 이면 이터러블의 순회를 계속하고 true이면 이터러블의 순회를 중단한다.
>
>
>
>
>


- 매개변수의 개수와 인수의 개수를 확인하지 않는 특성 때문에 함수가 호출되면 인수 개수를 확인하고 이에 따라 함수의 동작을 달리 정의할 필요가 있을 수 있다.
- arguments 객체는 매개변수 개수를 확정할 수 없는 가변 인자 함수를 구현할 때 유용하다.
Expand Down

0 comments on commit daffa51

Please sign in to comment.