목록JavaScript & Node.js (30)
한 걸음씩 기록하며
* Promise promise : JS에서 제공하는 비동기를 간편하게 처리할 수 있는 object 비동기적인 것을 수행할 때 콜백함수 대신에 유용하게 쓸 수 있는 오브젝트 정해진 장시간의 기능을 수행하고나서 정상적으로 기능이 수행되어졌다면 성공의 메시지와 함꼐 처리된 결과 값을 전달, 기능을 수행하다가 문제가 발생했다면 에러를 전달해줌 * promise 중요포인트 2가지 1. State 기능 수행이 성공했는지 실패했는지 이런 상태에 대한 이해 중요 2. Producing vs Consumer producing : 우리가 원하는 데이터를 제공하는 사람 consumer : 데이터를 필요로 하는 사람 1. Producer promise를 만드는 순간 executor라는 콜백 함수가 바로 실행됨 유의 : 사용..
1. Synchronous(동기) vs Asynchronous(비동기) 자바스크립트는 동기적인 언어이다. 호이스팅이 된 이후부터 코드가 작성한 순서에 맞춰서 하나씩 동기적으로 실행된다. hoisting (호이스팅) : var 변수와 함수선언(function declaration)들이 자동적으로 제일 위로 올라가는 것 비동기 : 비동기적으로 언제 코드가 실행될지 예측할 수 없는 것을 뜻함 console.log('1'); // 동기적으로 처리 setTimeout(()=> console.log('2'), 1000); // 비동기적으로 처리 console.log('3'); 2. callback function 자바스크립트는 함수를 콜백형태로 파라미터로 다른 함수에 전달할 수도 있고, 변수에 할당할 수도 있는 언..
1. HTTP HTTP : Hypertext Transfer Protocal 어떻게 하이퍼텍스트를 주고받을 수 있는지 규약한 프로토콜의 하나 웹사이트나 웹 어플리케이션과 같은 클라이언트들이 서버와 어떻게 통신할 수 있는지를 정리한 것 client → request → server server → response → client Hypertext : 웹사이트에서 이용되어지는 있는 하이퍼링크 뿐 아니라 전반적으로 쓰여지고 있는 리소스들, 문서나 이미지 파일들을 전부 포함 2. AJAX Ascynchronous JavaScript And XML (비동기 자바스크립트와 XML) 웹페이지에서 동적으로 서버에게 데이터를 주고 받을 수 있는 기술 대표적으로 Browser API가 제공하는 XHR (XML HttpRe..
1. join make a string out of an array 배열에 있는 모든 값을 모두 더해서 string으로 return seperator에 넣은 인자로 구분자 생성할 수 있음. { const fruits = ['apple', 'banana', 'orange']; // let change = ''; // fruits.forEach((value) => change += (value+" ")); // console.log(change); /** * Adds all the elements of an array separated by the specified separator string. */ const result = fruits.join(','); console.log(result); } 2. ..
자료구조 : 비슷한 종류의 데이터를 한 곳에 담는 것 어떤 방식과 형식으로 데이터를 담는지에 따라 다양한 타입이 있음 Object와 자료구조의 차이? object는 서로 연관된 특징이나 행동을 묶어놓는 것을 말한다. 비슷한 타입의 object를 묶어놓는 것을 자료라고 한다 보통 자료구조는 동일한 타입의 자료구조만 담을 수 있음 (타입이 있는 언어) 그러나 JS는 Dynamically typed language이기 때문에, 다양한 타입의 데이터를 담을 수 있음 그러나 이런식으로 개발하는 것은 좋지 않음 1. Declaration new Array(); [ ]; : 선언과 동시에 삽임 const arr1 = new Array(); const arr2 = [1. 2]; 2. Index position 변수명[..
1. Object one of the JS’s data types a collection of related data and / or functionality Nearly all objects in JS are instances of object primitive 데이터 타입은 변수 하나 당 값을 하나만 할당이 가능 argument가 많아지면 관리하기 힘들고, 로지컬하게 코드를 만들기 어렵기 때문에, object 사용 1. Literals and Properties 💡 object = { key : value}; 오브젝트는 키와 밸류의 집합체이다. 오브젝트는 키(우리가 접근할 수 있는 변수, 프로퍼티)와 그 키가 가지고 있는 값을 가진다. object literal syntax const object명 ..
1. JS class ES6에 도입됨 클래스가 도입되기 전에는 클래스를 정의하지 않고 함수를 이용해서 클래스를 만들고 오브젝트를 생성해서 사용했었음 기존에 존재하던 자바스크립트에 추가된 것이기에 기존에 존재하던 프로토 타입을 기반하여 그 위에 간편하게 쓸 수 있도록 문법만 클래스가 추가된 것임 (syntactical sugar) prototype based inheritance된 클래스이기 때문에, 프로토타입을 이해하는 것이 좋음 JS에 클래스가 없다면? : 정의한 모든 변수들이 파편화되어 규모있는 프로젝트를 진행하기 어려웠을 것 class : 조금 더 연관있는 것들을 묶어놓는 하나의 컨테이너 클래스는 속성(field), 행동(method)가 들어있음 data class : 속성만 들어있는 클래스 다형성..
절차지향 프로그래밍(procedural language)에서는 함수가 프로그래밍에서 굉장히 중요함 JS는 클래스가 추가되어 객체지향 같아 보이지만, 추가된 클래스도 프로토타입 베이스로한 객체지향임 그래서 자바스크립트도 여전히 절차지향 프로그래밍이기에, 함수가 중요함 함수가 중요하기에 function을 sub-program이라고도 부름 function은 parameter를 받아서 이것들을 잘 처리하여, return 하는 것 함수에는 input과 output, functions의 이름을 잘 정하는 것이 중요 1. function이란? fundmental building block in the program subprogram can be used multiple times performs a task or ..