2024/07/25 3

24.07.25 클로저

클로저 : 함수와 그 함수가 선언된 렉시컬 환경과의 조합 const x = 1;// innerFunc()에서는 outerFunc()의 x에 접근할 수 없죠.// Lexical Scope를 따르는 프로그래밍 언어이기 때문function outerFunc() { const x = 10; innerFunc(); // 1}function innerFunc() { console.log(x); // 1}outerFunc();출력은 1이 나온다. outerFunc 안에 x가 10으로 할당되어있고, 그곳에서 innerFunc를 실행했기 때문에 10이 출력될 것이라고 생각할 수도 있지만, JS엔진은 함수를 어디서 '호출'했는지가 아니라, 어디에 '정의'했는지에 따라 스코프를 결정하기 때문이다.이를 어휘적..

2차 공부/TIL 2024.07.25

24.07.25 클래스

클래스와 인스턴스클래스 - 학교에서 다양한 종류의 책상을 만드는 설계도, 설계도를 보면 어떤 종류의 책상을 만들 수 있는지, 책상의 특징은 무엇인지 알 수 있다.인스턴스 - 설계도를 보고 만들어진 실제 책상, 모양/크기/색상/재료 등 설계도에 따라 만들어지며 모두 다른 인스턴스가 된다. // 클래스라는 설계도를 만들어 봅시다.class Person { //사람이기 때문에 필수요소를 name, age를 가진다. constructor(name, age) { this.name = name; this.age = age; } //이렇게 함수를 만들어두면 인스턴스를 만들 때 메서드가 들어있다. sayHello() { console.log(`${this..

2차 공부/TIL 2024.07.25

24.07.25 DOM / DOM 조작하기

1. js가 왜 생겼는데 - 브라우저에서 사용하기 위한 언어이다. - 웹 페이지를 동적으로 만들기 위해, 즉 HTML문서를 조작해서 생명력을 불어넣어주기 위해 만들어진 언어디다. 2. 웹 페이지가 뜨는 과정 - 사용자가 'www.naver.com'을 주소에 입력한다.   1. 클라이언트가 서버에게 요청(req)을 함   2. 우리가 크롬을 통해 클라이언트의 역할을 하는 것 - HTML문서를 서버로부터 수신한다.   1. 네이버 서버는 우리(=브라우저 =클라이언트)에게 응답(res)을 한다.   2. 그 응답이 HTML문서이다. - 브라우저가 HTML 파일을 해석(parsing 파싱)   1. 브라우저에는 기본적으로 렌더링 엔진이 있다. 서버가 클라이언트에게 준 HTML문서를 렌더링 한다.   2. 렌더링..

2차 공부/TIL 2024.07.25