![[JavaScript] 이벤트 루프(Event Loop)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBwEhE%2FbtsKgc1TKbh%2FD3CSjqXJj83kSgbBJ7gj01%2Fimg.png)
📚 자바스크립트의 이벤트 루프(Event Loop)란 무엇인가요?자바스크립트는 싱글 스레드 언어예요. 이는 자바스크립트가 한 번에 하나의 작업만을 처리할 수 있다는 뜻이에요. 하지만 실제로는 자바스크립트가 비동기 작업을 아주 효율적으로 처리할 수 있어요. 이는 이벤트 루프(Event Loop)라는 메커니즘 덕분이에요. 자바스크립트의 이벤트 루프는 요리사 한 명이 있는 레스토랑과 같아요. 요리사는 한 번에 하나의 요리만 만들 수 있지만, 요리를 준비하는 동안 다른 일도 처리할 수 있어요. 예를 들어, 요리사가 면을 끓이는 동안 그 시간에 샐러드를 준비하거나, 주문을 받는 식으로 여러 작업을 동시에 처리할 수 있죠. 요리사(자바스크립트)는 요리를 하는 도중(동기 작업) 다른 일이 생기면 주방 밖에서 손님들..
![[JavaScript] 배열 메서드(map, filter, reduce)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd4qyjP%2FbtsJWTaM0FM%2FCMAZgpEVL76JyGqCJ7J2yK%2Fimg.png)
📚 배열 메서드(map, filter, reduce)란 무엇인가요?자바스크립트에서 배열을 다루는 것은 매우 중요해요. 특히 map, filter, reduce 같은 배열 메서드는 배열을 간편하고 효과적으로 처리할 수 있는 방법을 제공해요. 이 세 가지 메서드는 각각 배열을 변환, 필터링, 축소하는 작업을 수행해요. 비유하자면, map은 원래의 배열에서 무언가를 변형해서 새로운 배열을 만드는 작업이고, filter는 원하는 조건에 맞는 요소만 걸러내는 작업, 그리고 reduce는 배열을 한 덩어리로 축소하여 단일 값으로 만드는 작업이에요.🖥️ 배열 메서드(map, filter, reduce)의 개념과 예시1. map: 배열을 변형하는 메서드map 메서드는 배열의 각 요소에 동일한 작업을 수행하여, 새로..
![[Web] HTTP와 HTTPS의 차이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA756u%2FbtsJVXSMdtQ%2FRgAi2yNdQ7OFfk3LLQgiyK%2Fimg.png)
📚 HTTP와 HTTPS의 차이점은 무엇인가요?웹 브라우저에서 인터넷을 통해 정보를 주고받을 때 사용하는 가장 기본적인 프로토콜 중 하나가 HTTP (HyperText Transfer Protocol)예요. HTTP는 웹사이트에서 HTML, 이미지, 비디오 등의 데이터를 주고받기 위한 규칙을 정의해요. 반면, HTTPS (HyperText Transfer Protocol Secure)는 HTTP에 보안을 더한 프로토콜로, 주고받는 데이터를 암호화하여 해커나 중간 공격자가 데이터를 엿보지 못하게 보호해요. 비유하자면, HTTP는 편지를 우편으로 보내는 것과 같아요. 편지는 누구나 쉽게 읽을 수 있기 때문에 보안에 취약하죠. 반면에, HTTPS는 이 편지를 봉투에 넣고 잠금 장치로 봉인해서 보내는 것과 같..
![[Data] 스택(Stack)과 큐(Queue)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5GnJq%2FbtsJYDyNWJk%2FdrLrEre7uYioX2SBhrq5Y0%2Fimg.png)
📚 스택(Stack)과 큐(Queue)란 무엇인가요?스택(Stack)과 큐(Queue)는 컴퓨터 공학에서 매우 중요한 데이터 구조 중 하나예요. 이 두 구조는 데이터를 저장하고 처리하는 방식을 정의하며, 각각의 사용 방식이 다르지만 순서에 초점을 맞추고 있어요. 특히, 스택은 "마지막에 넣은 것이 가장 먼저 나온다"는 LIFO (Last In, First Out) 원칙을 따르고, 큐는 "먼저 넣은 것이 가장 먼저 나온다"는 FIFO (First In, First Out) 원칙을 따르죠. 비유를 들어 설명하자면, 스택은 접시를 쌓아 올리는 것과 비슷해요. 마지막에 쌓은 접시를 먼저 꺼내야 하죠. 반면, 큐는 줄을 서는 것과 같아요. 먼저 줄을 선 사람이 먼저 서비스를 받는 원칙을 따르죠. 이제 스택과 큐..
![[JavaScript] 화살표 함수와 일반 함수의 차이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp1Aze%2FbtsJUk1i8yj%2FuWvIW5418L8AXjKK3s8iF0%2Fimg.png)
📚 화살표 함수(Arrow Functions)와 일반 함수의 차이는 무엇인가요?자바스크립트에서 화살표 함수(Arrow Functions)는 ES6에서 도입된 새로운 함수 정의 방식이에요. 기존의 일반 함수 표현식과 달리, 더 간결한 문법을 제공하며, this 바인딩과 관련된 중요한 차이점이 있어요. 비유를 들어보면, 일반 함수는 새로운 맥락을 형성하여 독립적인 행동을 하는 주체라면, 화살표 함수는 그저 주변 환경을 따라가는 형태의 행동을 해요. 이 때문에 this를 다루는 방식에 큰 차이가 있답니다.🖥️ 화살표 함수와 일반 함수의 차이점1. 문법의 차이일반 함수는 function 키워드를 사용해 정의하고, 화살표 함수는 =>를 사용해 정의해요.// 일반 함수function greet(name) { ..
![[JavaScript] 구조 분해 할당(Destructuring)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx5OM8%2FbtsGPoLr0py%2FYniusozuKGucdmNLD0xK6K%2Fimg.png)
📚 구조 분해 할당이란 무엇인가요? 구조 분해 할당은 복잡한 배열이나 객체로부터 데이터를 추출하여, 이를 새로운 변수에 간단히 할당하는 자바스크립트의 표현식이에요. 이 방식을 사용하면 코드를 더 깔끔하고 가독성 있게 작성할 수 있어요. 비유를 들어보자면, 한 상자에 여러 가지 과일이 들어 있을 때, 각 과일을 하나씩 꺼내서 따로따로 접시에 담는 것과 비슷해요. 구조 분해 할당은 이러한 과정을 코드 상에서 매우 심플하게 해줍니다. 🖥️ 구조 분해 할당의 종류 구조 분해 할당은 주로 배열과 객체에서 사용돼요. 1. 배열의 구조 분해 할당 배열의 구조 분해 할당은 배열의 요소들을 변수에 할당할 때 사용돼요. 순서대로 할당되며, 원하는 요소만 선택적으로 추출할 수도 있어요. const fruits = ["사과"..
![[JavaScript] 클로저](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpQK2M%2FbtsF2NS5u1Y%2FG0vR7Z9eKOhBS8eBJonaK1%2Fimg.png)
📚 클로저란 무엇인가요? 클로저는 함수와 그 함수가 선언될 때의 렉시컬 환경과의 조합이에요. 이는 내부 함수가 외부 함수의 스코프에 접근할 수 있게 해 주며, 외부 함수가 실행을 마친 후에도 외부 함수의 변수에 접근할 수 있게 해요. 클로저는 '백팩'에 비유할 수 있어요. 함수가 실행될 때마다, 그 함수는 자신만의 '백팩'을 가지게 돼요. 이 '백팩' 안에는 함수가 생성될 때의 환경, 즉 외부 함수의 변수들이 들어 있어요. 함수가 어디로 가든, 이 '백팩'을 들고 다니면서 필요할 때마다 외부 함수의 변수들을 사용할 수 있게 되죠. 🖥️ 클로저의 사용 1. 데이터 은닉과 캡슐화 클로저를 사용하면, 함수 외부에서 접근할 수 없는 private 변수를 만들 수 있어요. 이는 데이터 은닉과 캡슐화를 가능하게 해..
![[JavaScript] this](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG1zfy%2FbtsFRBlbFsw%2FUHdXsYK89jla36wW1fC3D1%2Fimg.png)
📚 this란 무엇인가요? 자바스크립트에서 this는 현재 실행 컨텍스트의 객체를 가리키는 키워드예요. 함수나 메서드가 어떻게 호출되었느냐에 따라 this의 값이 결정돼요. this를 사용하는 것은 마치 레스토랑에서 웨이터가 주문을 받는 고객을 정확히 알아야 하는 것과 비슷해요. 여기서 웨이터는 자바스크립트 함수이고, 고객은 this가 가리키는 객체예요. 어떤 테이블(컨텍스트)에서 호출되었는지에 따라, 웨이터(함수)는 다른 고객(this)에게 서비스를 제공하게 돼요. 🖥️ this의 사용 1. 전역 컨텍스트에서의 this 전역 컨텍스트에서 this는 전역 객체를 가리켜요. 브라우저에서는 window, Node.js에서는 global 객체가 돼요. console.log(this.document === wi..