본문 바로가기

javascript28

JS33 - 27.자료구조 Object와 Array 원시 타입 6종류(Boolean, Null, Undefined, Number, String, Symbol) 이외의 데이터 타입 array도 object도 둘 다 object // arrays []; // objects { } Object 식별자 (Identifier)로 참조할 수 있는, 메모리에 있는 값 속성(Property)을 담고 있는 가방(Collection) 중괄호는 개체를 나타내며 개체의 요소가 개체를 구성합니다. 객체 값은 키 : 값 쌍으로 제공되며 이러한 값은 객체의 속성 또는 방법 (함수) 일 수 있습니다. 속성은 객체의 특징 또는 속성 인 반면, 방법은 객체에서 수행할 수 있는 기능 또는 동작입니다. // simple way to create a string co.. 2021. 10. 27.
JS33 - 26.Async/Await Async/Await async function 함수명() { await 비동기_처리_메서드_명(); } async와 await는 자바스크립트의 비동기 처리 패턴 중 가장 최근에 나온 문법 (ES2017 ES8 ) 내부적으론 비동기 작업을 수행하면서, 표면적으론 완전히 동기식 코드를 작성할 수 있도록 도와준다. 기존의 비동기 처리 방식인 콜백 함수와 프로미스의 단점을 보완하고 개발자가 읽기 좋은 코드를 작성할 수 있다. 일반적으로 자바스크립트의 비동기 처리 코드는 아래와 같이 콜백을 사용해야 코드의 실행 순서를 보장받을 수 있다. 함수 앞에 async가 붙으면 항상 promise를 리턴한다. 다른 값들은 자동적으로 resolve된 promise로 감싸진다. // 미적용 function logName() .. 2021. 10. 27.
JS33 - 25.프로미스(Promise) 프로미스 Promise Promise - JavaScript | MDN Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. developer.mozilla.org var promise = new Promise(function(resolve, reject) { // do a thing, possibly async, then… if (/* everything turned out fine */) { resolve("Stuff worked!"); } else { reject(Error("It broke")); } }); Promise 는 자바스크립트 비동기 처리에 사용되는 객체 콜백을 함수에 전달하는 대신 콜백을 첨부하는 객체가 리턴되는 것이다. 보다 동기적인 방식으로.. 2021. 6. 24.
JS33 - 24.컬렉션과 생성기(Collection and Constructor) 컬렉션 Collection JavaScript Collections Collections 프로그래밍 언어에서 Collection 이란 단어는 '프로그래밍 언어가 제공하는 값을 담을 수 있는 컨테이너' 라고 생각합니다. 메이저 프로그래밍 언어에는 여러가지 데이터 컬렉션들이 존재 velog.io 프로그래밍 언어가 제공하는 값을 담을 수 있는 컨테이너 Python - list, tuple, dictionaries … Java - ArrayList, HashMap, HashSet, Queue, Stack … Ruby - hashes, arrays Javascript(기존 Arrays + Objects, 이후 ES6에서 새로 추가) Indexed Collection - Arrays, Typed Array Keye.. 2021. 6. 23.
JS33 - 23.재귀함수(Recursive Function) 함수 그 자체에서 자기 자신을 호출하는 함수 자바스크립트에서 재귀 함수를 구성 할 때는 Leave Event가 있어야 합니다. Leave Event? 함수가 재귀 루프를 종료 할 수 있게 하는 제어문. if문, 삼항인수, switch문 등이 될 수 있다. 프랙탈, 정렬 또는 복잡한 또는 비선형 데이터 구조의 노드 탐색과 같은 반복 분기와 관련된 문제를 해결하는 데 가장 효과적입니다. 함수형 프로그래밍 언어에서 재귀를 선호하는 한 가지 이유는 로컬 변수를 사용하여 상태를 설정 및 유지 관리 할 필요가 없는 코드를 생성 할 수 있기 때문입니다. 재귀 함수는 주어진 입력에 대해 구체적이고 일관된 반환 값을 가지고 외부 변수 상태에 대한 부작용이 없는 순수한 방식으로 작성하기 쉽고 자연스럽게 테스트하기 쉽습니다.. 2021. 6. 8.
JS33 - 22.고차함수(Higher Order Function) 고차함수란? 고차 함수는 함수 인수를 받거나 함수를 반환하는 함수입니다. ( === 함수를 주고받는 함수) map(),reduce(),filter(),setTimeout(),addEventListener(),bind() …. // ES6 version const characters = [ {name: 'Luke Skywalker', img: 'http://example.com/img/luke.jpg', species: 'human'}, {name: 'Han Solo', img: 'http://example.com/img/han.jpg', species: 'human'}, {name: 'Leia Organa', img: 'http://example.com/img/leia.jpg', species: 'hum.. 2021. 6. 8.