본문 바로가기

js27

js async & await 간단 사용법 작성 예시 케이스:  a라는 함수에는 setTimeout이 걸려있고, a함수가 끝난 후 b함수를 실행하고싶다. 첫번째 작성 코드const a = async () => { setTimeout(()=>{ console.log('aa'); },5000)}const b = () => { console.log('bb');};const c = async () => { await a(); b();} a함수에 async가 달려있어 promise를 반환해주는 것은 맞다.허나, 이는 a함수의 실행완료 시점을 보장해주진 않는다.그보단 단순실행시점을 보장해준다고 보면 됨 쉽게 말하면 a함수를 실행하며 setTimeout을호출한 것 만으로 promise가 반환됨>> "난 실행.. 2024. 8. 7.
js 생성시점때 형제스코프내에서 메소드를 찾고싶을때 const a = { b: function() { return 5; }, c:a.b()} 위 소스처럼 데이터를 객체구조로 정리하고싶을때,자기자신의 형제 메소드를 이용해야할 때가 있음 a.c는 a.b를 이용해 자기자신을 초기화하려 하지만,초기화단계에서 접근해버리면 a의 초기화가 마무리지어지지 않기때문에a를 제대로 찾지 못해버림 이럴땐 즉시실행함수를 이용해 초기화 작업을 진행한다.const a = (function(){ const b = function() { return 5; }; const c = b() return {b,c}})()위처럼 객체구조의 초기화가 아닌,함수를 이용한 후, 객체를 리턴해주면c를 초기화 할때 바로 같은단계에서 선언된 .. 2023. 9. 11.
js 클로저 클로저란 실행 컨텍스트 스택에서 제거된 후 렉시컬 환경이 보통 제거되지만,사라져야할 렉시컬 환경의 식별자를 외부에서 참조하고있다면렉시컬 환경이 유지됨 더 쉽게 말하면a 라는 함수내부에 x변수가 있고,a 함수가 종료되었으면 x변수도 정리되어야함단, x변수를 외부에서 참조하고있다면 정리되지 않음 실행 컨텍스트를 알아야 이해가 더 쉬울 수 있음https://yamyam-naengmyeon-donkats.tistory.com/114 js 실행컨텍스트소스코드의 타입 ㄱ. 전역코드 - 최상위 코드인 전역 스코프를 생성 후, 전역 객체와 연결 - 이를 위해 전역 코드가 평가되면 전역 실행 컨텍스트가 생성됨 ㄴ. 함수코드 - 함수마다의 지역 스코yamyam-naengmyeon-donkats.tistory.com클로저 .. 2023. 2. 23.
js 일급객체(함수) 일급객체의 조건  - 무명의 리터럴로 생성할 수 있음 - 변수나 자료구조(객체,배열 등)에 저장할 수 있음 - 함수의 매개변수에 전달할 수 있음 - 함수의 반환값으로 사용할 수 있음 자바스크립트의 함수는 위의 조건에 부합하므로 일급 객체이며객체와 동일하게 함수를 사용할 수 있음함수의 프로퍼티 어트리뷰트const getSum = function(a,b){ return a+b;};Object.getOwnPropertyDescriptors(getSum);// 이미지 참고프로퍼티 어트리뷰트는 위와 같이 존재함 2023. 2. 15.
js 생성자함수 객체생성방법 자바스크립트에서 객체를 생성하는 가장 쉬운 방법은 리터럴을 이용한 방법이라 생각함let a = {a:1,b:2} 이외에도  - Object.create - Object 생성자 함수를 이용할 수 있음 Object 생성자함수는 빌트인 객체이며 웹브라우저 콘솔에 테스트 해보면 쉽게 확인 가능기타 생성자 함수 및 작성법 Object 말고도 String, Number 타입의 데이터도 생성자 함수를 이용해 생성할 수 있으며,직접 생성자 함수를 작성할 수 있음 작성예시const Person = function (name) { this.name = name; return this;}const p1 = new Person("abc");console.log(p1) // Person {name:"abc"}.. 2023. 2. 15.
js 재귀함수 & 콜백함수 재귀함수  콜백함수 2023. 2. 12.