본문으로 건너뛰기

"ECMAScript 이해하기" 태그로 연결된 4개 게시물개의 게시물이 있습니다.

모든 태그 보기

ECMAScript 사양 이해하기, Part 3

· 약 10분
[Marja Hölttä](https://twitter.com/marjakh), 추측적 사양 관찰자

모든 에피소드 보기

이번 에피소드에서는 ECMAScript 언어와 그 문법 정의에 대해 더 깊이 들어가 보겠습니다. 만약 문맥 자유 문법(context-free grammar)에 익숙하지 않다면, 사양이 언어를 정의하기 위해 문맥 자유 문법을 사용하기 때문에 기본을 확인할 좋은 기회입니다. 더 쉬운 입문서를 원한다면 "Crafting Interpreters"의 문맥 자유 문법에 관한 챕터를 확인하거나, 더 수학적인 정의를 원한다면 위키피디아 페이지를 참고하세요.

ECMAScript 사양 이해하기, 파트 2

· 약 9분
[Marja Hölttä](https://twitter.com/marjakh), 추측적 사양 관찰자

우리는 사양 읽기 기술을 더 연습해볼 것입니다. 이전 에피소드를 아직 보지 않았다면, 지금 확인해보세요!

모든 에피소드

파트 2 준비되었나요?

사양을 익히는 재미있는 방법은 우리가 알고 있는 JavaScript 기능에서 시작해 그것이 어떻게 명시되어 있는지 알아보는 것입니다.

경고! 이 에피소드에는 2020년 2월 기준 ECMAScript 사양에서 복사된 알고리즘이 포함되어 있습니다. 결국 오래되었을 것입니다.

우리는 속성이 프로토타입 체인에서 검색된다는 것을 알고 있습니다: 객체가 우리가 읽으려는 속성을 가지지 않는 경우, 우리는 프로토타입 체인 위로 올라가 그것을 찾거나 (더 이상 프로토타입을 가지지 않는 객체를 찾을 때까지) 찾습니다.

예를 들어:

const o1 = { foo: 99 };
const o2 = {};
Object.setPrototypeOf(o2, o1);
o2.foo;
// → 99

프로토타입 걷기는 어디에 정의되나요?

이 행동이 어디에 정의되어 있는지 알아봅시다. 좋은 출발점은 객체 내부 메서드의 목록입니다.

[[GetOwnProperty]][[Get]]이 모두 있지만, 우리는 자신 속성에만 제한되지 않는 버전을 찾고 있기 때문에 [[Get]]을 선택합니다.

불행히도, 속성 설명자 사양 타입에도 [[Get]]이라는 필드가 있으므로, 사양에서 [[Get]]을 탐색할 때 두 개의 독립적인 사용을 신중히 구분해야 합니다.

ECMAScript 명세 이해하기, 1부

· 약 8분
[Marja Hölttä](https://twitter.com/marjakh), 사양 관찰자

모든 에피소드 보기

이 글에서는 명세에서 간단한 함수를 가져와 표기법을 이해해 봅니다. 시작해 볼까요!

서문

JavaScript를 알고 있어도 그 언어 명세인 ECMAScript Language specification, 또는 줄여서 ECMAScript 명세를 읽는 것은 상당히 어려울 수 있습니다. 적어도 제가 처음으로 읽기 시작했을 때 그렇게 느꼈습니다.