본문 바로가기

분류 전체보기43

[JavaScript] Promise와 async/await 지난 포스트에서는 콜백함수와 비동기처리에 대해 간단하게 알아봤습니다. 마지막에는 콜백함수 사용 시 발생하는 가독성 문제; 콜백 지옥에 대해서도 알아보았습니다. 이번에는 이를 해결하기 위한 Promise와 async/await 문법에 대해 정리해보겠습니다. Promise Promise는 비동기 처리를 좀 더 쉽게 하기 위한 객체입니다. 이 Promise 객체를 생성할 때, resolve, reject를 인자로 받아 resolve / reject 해주는 함수를 실행해주겠다고 '약속'해주게 됩니다. const foo = (resolve, reject) => { setTimeout(()=>{ resolve("Success"); }, 1000); }; conse getPromise = () => new Promi.. 2022. 5. 16.
프로젝트 중 CORS 에러 수난기 에브리타임 클론코딩을 하면서 2번의 CORS 에러에 맞닥뜨렸습니다. 첫번째는 처음 배포할 때, 두번째는 소셜 로그인을 구현할 때입니다. CORS 에러는 왜 발생한 것일까요? CORS 정책이 어떤 것인지 이제서야 정리해보려고 합니다. 웹에는 출처라는 개념이 있습니다. 리소스를 어디서 가져오는지에따라 same-origin과 cross-origin으로 나뉩니다. 이렇게 URL에서 프로토콜,호스트,포트를 체크하여 같은 출처만을 허용합니다. 다른 리소스를 쓰다가 혹시 모를 해킹 등에 당할 수 있기 때문이죠. 이러한 정책을 동일 출처 정책(Same-origin Policy, SOP)이라고 합니다. 내꺼만 써서 잠재적인 모든 해킹이나 공격을 막겠다!는 거죠. 그런데 프론트엔드 개발을 하다보면 SOP를 모두 지키기에는.. 2022. 5. 14.
2019학년도 고인물능력시험 게임탐구영역(카트라이더) 시험지 원본 시험 응시하기 로드 중… 수정사항 등급컷 등급 점수 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 총 응시자 수 - 만점자 - 오답률 Top 5 1위: 0번 (0.0%) 2위: 0번 (0.0%) 3위: 0번 (0.0%) 4위: 0번 (0.%0) 5위: 0번 (0.0%) 출제자 Comment 2022. 5. 13.
2018학년도 고인물능력시험 게임탐구영역(카트라이더) 시험지 원본 시험 응시하기 로드 중… 수정사항 16번의 4번 보기를 ㄱ, ㄷ -> ㄴ, ㄷ 으로 수정 등급컷 등급 점수 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 총 응시자 수 - 만점자 - 오답률 Top 5 1위: 0번 (0.0%) 2위: 0번 (0.0%) 3위: 0번 (0.0%) 4위: 0번 (0.%0) 5위: 0번 (0.0%) 출제자 Comment 2022. 5. 12.
[JavaScript] 호이스팅과 var,let,const 호이스팅이 뭘까요? hoisting은 '밧줄 등으로 끌어올리다'라는 의미를 갖고 있습니다. JavaScript에서 뭘 끌어올린다는 것일까요? 예를 들어, 다음과 같은 함수가 있다고 해봅시다. foo(); function foo() { console.log('a'); } C++에서는 한줄한줄 읽기 때문에 미리 정의되어있지 않으면 컴파일 에러가 뜹니다. 그런데 위의 코드는 JS에서 정상적으로 작동합니다. 이는 JS에서 선언들을 모두 미리 정의해주기 때문입니다. 할당은 나중에 하구요. 함수의 선언부가 위로 끌어올려진듯하게 보이죠. 이것을 호이스팅이라고 부릅니다. JS는 실행 컨텍스에 변수나 함수가 생길 자리를 미리 마련해둡니다. 이 과정은 컴파일 타임에 실행되는 것이구요. 함수뿐만 아니라 변수도 마찬가지로 호.. 2022. 5. 11.
[JavaScript] const, let, var의 차이점 JS로도 알고리즘 문제를 풀어보기 시작했습니다. 그런데 for문 안에 const를 넣었더니 이상한 오류가 났어요! let이나 var은 잘 작동되는데 말입다. 단순히 const를 C++에서의 int나 string 정도로 생각했는데 이 참에 알아봐야겠다고 생각했습니다. var, let, const 모두 변수를 선언할 때 쓰입니다. var var만의 가장 큰 특징은 중복하여 변수 할당이 가능하다는 점입니다. ES6이전, 즉 ES5까지는 var밖에 없었습니다. var test = 'javascript'; console.log(test); //javascript var test = 'react'; console.log(test); //react 이렇게 '같은 변수명'에 다른 값을 할당해주어도 오류가 발생하지 않습.. 2022. 5. 5.
728x90