약속해줘~~ 프라미스
·
모르는용어 정리
#프라미스의 정의 자바스크립트 비동기 처리에 사용되는 객체 여기서 자바스크립트의 비동기 처리란 ‘특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성’을 의미한다 #프라미스가 왜 필요해?? API가 실행되면 서버에다가 ‘데이터 하나 보내주세요’ 라는 요청을 보낸다. 그런데 여기서 데이터를 받아오기도 전에 마치 데이터를 다 받아온 것 마냥 화면에 데이터를 표시하려고 하면 오류가 발생하거나 빈 화면이 뜨게된다. 이와 같은 문제점을 해결하기 위한 방법 중 하나가 프로미스 예시는 아래 코드이다. const promise = new Promise((resolve, reject)=>{ //무거운 작업중~(파일읽어오기, 네트워크) console.log('doing someth..
동기 비동기
·
모르는용어 정리
#동기 동기는 요청을 보낸 후 응답(결과물)을 받아야지만 다음 동작이 이루어지는 방식을 말한다. 모든 일은 순차적으로 실행되며 어떤 작업이 수행중이라면 다음 작업은 대기하게 된다. 아래처럼 순서대로 동작이 일어나는게 동기 function func1() { console.log('첫번째 펑션!'); func2(); } function func2(){ console.log('두번째 펑션!'); func3(); } function func3() { console.log('세번째 펑션'); } func1(); // 출력값은 아래와 같다. // 첫번째 펑션! // 두번째 펑션! // 세번째 펑션! 을 띄우게 된다. #비동기 비동기로 처리하지 않고 동기적으로 구성을 하게 된다면 데이터를 받아오기까지 기다린 다음에 ..
230125 개발일지
·
개발일지
오늘의 개발일지는 간단하다. this 콜백함수 이 두개만 조금이라도 이해하면 되는 날이라고 생각이 든다. this 콜백함수에 관한 기본 개념은 최대한 정리를 해서 따로 블로그 해놨으니 여기서는 주저리주저리를 해볼 생각이다. 일단 아래 코드를 적어 보겠다. var o11 = { logThis:function(){ console.log(this) }, logThisLater1:function(){ setTimeout(this.logThis,500) }, logThisLater2:function(){ setTimeout(this.logThis.bind(this),500) } } o11.logThisLater1(); o11.logThisLater2(); 여기서 대충은 감이 잡힌거 같다. logThisLater1..
콜백
·
모르는용어 정리
#콜백 파라미터로 함수를 전달받아, 함수의 내부에서 실행하는 함수이다. #콜백의 장단점 콜백함수를 사용하면서 얻는 이점은 다음과 같다. 함수를 인자로 받기 때문에 필요에 따라 함수의 정의를 달리해 전달할 수 있다. 함수를 굳이 정의하지 않고 익명 함수로도 전달 가능하다. 비동기(Asynchronous) 처리 방식의 문제점을 해결할 수 있다. 하지만 콜백함수를 사용하면 다음과 같은 단점이 있다. 콜백함수를 너무 남용하면 코드의 가독성이 떨어진다. (콜백 지옥) 에러 처리가 어렵다. #동기콜백과 비동콜백 아래는 코드 예시 //동기콜백 function printImmediately(print){ print() } printImmediately(() => console.log('hello')); //비동기콜백 ..
얕은 복사와 깊은 복사
·
모르는용어 정리
#얕은 복사 객체를 복사할 때 원본 값과 복사된 값이 같은 참조(=메모리 주소)를 가리키는 것. 또한, 객체 안에 객체가 있을 경우에 한 개의 객체라도 원본 객체를 참조한다면 얕은 복사라고 볼 수 있습니다. 얕은 복사 후 해당 변수를 재사용하여 수정한다면 원본 값이 동시에 변하므로 주의가 필요합니다. #얕은복사의 장단점 장점: 같은 객체를 공유하므로 메모리를 절약하고, 빠른 장점이 존재한다. 참조에 의한 호출(Call By Reference)에서 얕은 복사가 이루어 지는 이유 중 하나이기도 하다. 단점: 두 개 이상의 객체가 같은 대상을 가르키고 있기 때문에, 의도치 않게 여러 개의 객체가 동시에 수정될 수 있다. #Object.assign() 우선, 객체의 속성을 복사할 때 자주 사용하는 방식은 Obj..
undefined와 null
·
모르는용어 정리
#undefined 선언한 후에 값을 할당하지 않은 변수나 값이 주어지지 않은 인수에 자동으로 할당된다. 이 값은 전역 객체의 속성 중 하나로, 전역 스코프에서의 변수이기도 하다. 따라서 undefined 변수의 초기 값은 undefined 원시 값이다. 아래의 경우에 변수가 undefined를 반환한다. 값을 할당하지 않은 변수 메서드와 선언에서 변수가 할당받지 않은 경우 함수가 값을 return 하지 않았을 때 #null 어떤 값이 의도적으로 비어있음을 표현한다. undefined는 값이 지정되지 않은 경우를 의미하지만, null의 경우에는 해당 변수가 어떤 객체도 가리키고 있지 않다는 것을 의미한다.
PGI
초보개발자의 개발개발