본문 바로가기

Books/YOU DON'T KNOW JS

(4)
스코프와 클로저 2020. 10. 5. 01:29 본 내용은 카일 심슨의 YOU DON'T KNOW JS 타입과 문법, 스코프와 클로저(2017)를 읽고 서술적인 내용을 Q&A 형식으로 정리한 글입니다. 들어가기 전에 개인적으로 이 장은 코어 자바스크립트에서 학습했던 실행 컨텍스트와 클로저를 참고하는 편이 훨씬 이해가 더 잘될거 같았다. 따라서 복습할 겸해서 정리하기로 하였다. 1. 스코프 1.1 자바스크릡트의 컴파일레이션 과정을 설명하시오. 아래는 예시 코드 var a = 2 토크나이징(렉싱) 〰️파싱 〰️코드 생성으로 진행된다. 토크나이징(렉싱) Tokenizing(Lexing) 문자열을 공백 기준으로 나누어 의미 있는 조각(토큰)을 생성한다. 상태 유지 파싱 규칙을 적용하여 어떤 문자열이 별개의 토큰인지, 다른 토큰의 일부인지를 판단하는 것을 렉..
문법 2020. 9. 8. 19:46 본 내용은 카일 심슨의 YOU DON'T KNOW JS 타입과 문법, 스코프와 클로저(2017)를 읽고 서술적인 내용을 Q&A 형식으로 정리한 글입니다. 1. 문과 표현식의 차이는? const a = 2*3 // ----- (1) const b = a // ----- (2) b // ----- (3) 문은 '문장'이며 표현식은 '어구'와 일맥상통한다.(연산자는 '구두점') 모든 표현식은 단일한 특정 값으로 계산된다. (1)의 우항, (2)의 우항, (3) 모두 표현식이며, const가 빠진 (1), (2)는 할당 표현식이라고도 부른다. (1), (2)는 const 변수를 선언하는 선언문이다. (3)은 표현식이기도 하지만 그 자체가 문이 되기도 하여 표현식 문이라고 한다. 모든 문은 완료값을 가진다. 콘솔..
강제변환 2020. 8. 23. 13:58 본 내용은 카일 심슨의 YOU DON'T KNOW JS 타입과 문법, 스코프와 클로저(2017)를 읽고 서술적인 내용을 Q&A 형식으로 정리한 글입니다. 1. 추상 연산 1.1 자신의 프로토타입에 toString()이 있는 경우(1)와, 일반 객체처럼 Object.prototype.toString() 메소드를 호출하는 경우(2)의 차이점은? (1) 내장 원시 값은 정해져 있는 방법대로 문자열화되어 반환한다. (2) 내부 [[Class]]를 반환한다. 정확히는 ToPrimitive 과정을 거친 결과값이 반환되어 "[object Object]"가 반환된다. 1.2 JSON.stringify 함수의 각 인자에 대한 설명과 문자열화하는 규칙에 대해 설명하시오. JSON.stringify(value, functi..
타입, 값 그리고 네이티브 2020. 8. 4. 00:03 본 내용은 카일 심슨의 YOU DON'T KNOW JS 타입과 문법, 스코프와 클로저(2017)를 읽고 서술적인 내용을 Q&A 형식으로 정리한 글입니다. 1. 타입 1.1 자바스크립트의 내장 타입 7가지 - null - boolean - object - string - number - symbol - undefined [참고] object를 제외한 나머지 6가지 값은 자바스크립트의 기본 타입임 1.2 type of null의 결과는? "object" 1.3 typeof function() {} === "function"의 의미는? [ECMA 표준 명세서] 4.3.31 function member of the Object type that may be invoked as a subroutine 서브루틴(한..