본문 바로가기

JavaScript

(5)
[ES6] 이터레이션, for...of 에 대해 알아보자. 이 글은 이터레이션과 for... of 문, 제네레이터를 참고하여 작성된 글입니다. 🤝 이터레이션 프로토콜 이터레이션(iteration) 은 ES6에서 새롭게 추가된 프로토콜로 데이터 컬렉션을 순회하기 위한 프로토콜이다. 이터레이션 프로토콜은 이터러블 프로토콜과 이터레이터 프로토콜로 구성되어 있다. 이터레이션 프로토콜을 준수한 객체는 데이터 제공자로서 for... of 문과 spread 문법의 피연산자로 사용될 수 있다. 🤝 이터러블 프로토콜 이터러블 프로토콜을 준수한 객체를 이터러블(iterable)이라 한다. 이터러블은 Symbol.iterator 메서드를 구현하여 소유하고 있거나, 프로토타입 객체로부터 상속받았다면 이터러블 프로토콜을 준수한 객체로 이터러블이라 한다. ES6에서 제공하는 빌트인 이터..
[JavaScript] 비동기 처리 (1) 리액트 프로젝트를 진행하면서 API 서버를 연동할 때 API 요청에 대한 상태를 잘 관리해주어야 하는데, 예를 들어 요청이 시작되었다면 로딩 중, 요청이 성공하거나 실패했을 때는 로딩이 끝났음을 알려주어야 합니다. 또한, 요청이 성공했다면 서버에서 받아 온 Response에 대한 상태를 관리하고, 요청이 실패했다면 서버에서 받아 온 Error에 대한 상태를 관리해야 합니다. 리덕스를 사용하면서 위와 같은 비동기 작업을 관리해야 한다면, 리덕스 미들웨어를 사용하면 효율적이라고 하는데, 과연 효율적이라는 것을 느낄 수 있을 정도로 비동기 처리에 대한 이해가 충분한가에 대한 의심이 들어 다시 기초로 돌아와 비동기 처리에 대한 글을 정리해보려고 합니다. 비동기 처리 자바스크립트의 싱글 스레드, 콜스택 과 같은 ..
[Questions about JavaScript Language Basics] Array Destructuring 2. Array Destructuring https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 구조 분해 할당 구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다. developer.mozilla.org https://ko.javascript.info/destructuring-assignment 구조 분해 할당 ko.javascript.info 객체와 배열은 자바스크립트에서 가장 많이 쓰이는 자료 구조입니다. 객체를 이용하면 키를 가진 데이터 여러 개를 하나의 앤티 티에 저장할 수 있습니다. 배열을 사용하면 ..
[Questions about JavaScript Language Basics] 호이스팅(Hoisting) 1. 호이 스팅(Hoisting) 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말합니다. 함수 실행 전, 자바스크립트 Parser가 해당 함수를 훑고, 함수 안에 존재하는 변수/함수 선언에 대한 정보를 기억하고 있다가 실행을 시키게 됩니다. 유효 범위는 함수 블록 {} 안에서 유효합니다. 실제 메모리에서는 변화가 없습니다. var변수 선언과 함수선언문에서만 호이 스팅이 일어납니다. 여기서 중요한 것은, 선언만 위로 끌어 올려지는 것이며 할당은 끌어올려지지 않습니다. (let/const 변수 선언과 함수표현식에서는 호이 스팅 되지 않습니다). 함수 선언문은 코드를 구현한 위치와 관계없이 자바스크립트를 해석할 때 호이 스팅 됩니다. 하지만, var 변수 선언이 함수..
[Questions about JavaScript Language Basics] JavaScript 기초 1. Javascript https://ko.javascript.info/intro 자바스크립트란? ko.javascript.info "웹페이지에 생동감을 불어넣기 위해" 만들어진 프로그래밍 언어입니다. 자바스크립트로 작성한 프로그램을 스크립트(Script)라고 하는데, 스크립트는 웹페이지의 HTML 안에 작성할 수 있고 웹페이지를 불러올 때 스크립트가 자동으로 실행됩니다. 자바스크립트는 브라우저뿐만 아니라 서버에서도 실행할 수 있습니다. 브라우저엔 "자바스크립트 가상 머신"이라 불리는 엔진이 내장되어 있습니다. (eg. V8 - Crome) 모던 자바스크립트는 "안전한" 프로그래밍 언어입니다. 메모리나 CPU 같은 저수준 영역의 조작을 허용하지 않습니다. 자바스크립트의 능력은 실행 환경에 상당한 영향을..