Promise.reject있어 중간에 Error을 출력하지 않고 나중에 원할 때 출력하는 법 => catch를 미리 걸어두는 것!! a); 2. Error 출력도 안하고 Catch를 원할때 Error 값 받아오는 경우 Promise.reject 부분만 진행을 하고 .catch는 진행을 하지 않은 상황이기 때문에 다음 원하는 부분에서 .catch를 활용할 수 있습니다. var a = Promise.reject('ㅎ'); a.catch(a => a); 마무리 Promise를 반복하면서 Error가 있는 부분을 처리하는 것에 대해 미리 catch를 적용시켜 Error를 미리 출력하지 않고 원하는 부분에서 Error를 출력하도록 하는 방법들입니다. 이것에서도 catch를 미리 실행하는 것에 따라 Error를 원..
Can I get JS variable Memory Address ?? 결론은 안된다.!!!! 주로 링크에서 가져온 내용들입니다. 링크를 보시면 더 자세한 정보를 알 수 있습니다. JS는 Garbage Collector을 가지기 때문에 일반적으로 기계어로 직접 번역할 수 없습니다. JS는 웹을 위한 안전한 언어이며 하드웨어뿐만 아니라 OS 및 Browser도 추상화하여 설계상 Low Level 내용보다 High Level 개념만 있습니다. 마치며 JS를 통해 LinkedList를 제작하는데 보다 확실하게 정확성을 파악하기 위해 Memory Address를 사용하려는 데 문제가 생겼었습니다. 그래서 해답을 얻게 되었고 key: value 객체나 변수를 하나 더 지정하는 가짜 주소를 사용해서 확인을 하려 합..
Hoisting 함수 내에 있는 선언들을 모두 끌어올려 사용 var 변수 선언, 함수 선언문만 해당 설명 기본적인 Hoisting 선언 부분만 맨 위로 올라가서 수행됩니다. //hoisting //var b; undefined로 3은 hoisting 되지 않는다. //function a(){ console.log('a');}; a(); function a() { console.log('a'); }; console.log(b); var b = 3; 함수 Hoisting 주의 1. 함수 표현식은 Hoisting 안된다. 2. 함수와 변수 선언문 중에 함수 선언문이 먼저다. //1. fun(); var fun = function() {}; //2. fun(); var fun = function(){}; //s..
해당 문제는 땅따먹기 DFS문제인데 땅을 먹을 때 마다 변화된 땅을 보려 했지만 원하는 값이 나오지 않았습니다. 즉, console.log를 활용해서 chrome에서 debugger대신 사용하고 있던 중 문제가 발생하였습니다. console.log의 값이 즉시 발생되는 값이 아니라 setTimeout 을 한것과 같이 값이 나오는 것 이었습니다. 다음과 같았습니다. function solution(board){ let dx=[-1, -1, 0, 1]; let dy=[0, 1, 1, 1]; let n = board.length; const DFS = (sx, sy) => { board[sx][sy] = 0; for (let i = 0; i < 4; i++) { let nx = sx + dx[i]; let n..
점점 복잡한 개발을 진행하면서 debugger의 사용이 필수적입니다. 그래서 VSCode를 이용한 쉬운 Debugger방식이 있어 쉽게 설명을 하려고 합니다. 필요 Program Chrome VSCode Open Browser Preview (VSCode Extension) Debugger for Chrome (VSCode Extension) 1. Setting 준비 VSCode에서 확장자를 설치한 후에 Debug를 실행하기 위해 launch.json을 설정을 해야 합니다. 2. Launch.json 설정 우선 launch 와 attach의 차이점을 보고 잘 결정해주기 바랍니다. launch attach 실행 전에 Debugger 모드에서 App, Process에서 앱을 시작하는 방법 이미 실행중인 Ap..
table의 tbody부분에 다음 코드와 같은 것을 넣었을 때 다음과 같은 오류가 발생하였습니다. 이를 보니 ${idx} 부분이 #text로 들어가는 문제였습니다. 조금 찾아보니 CSS 로 인해 하나씩 밀리는 것이였습니다. 그래서 CSS를 고치므로 해결하는 방법을 생각해봤으나html 내부에서 바꾸는 것이 더 쉽게 바꿀 수 있을 것이라고 판단이 되어서 html을 고치게 되었습니다. 그래서 다음과 같이 해결을 하였습니다. 확실한 방법일지는 모르지만 더 좋은 방법을 아시면 댓글로 알려주세요 ㅎㅎ
처음 본 issue였습니다. 그래서 빨리해야 하는데 궁금증을 버리지 못하고 파헤치기 시작했습니다.issue 설명을 보면 chrome 101부터 사용자 에이전트 문자열에서 사용할 수 있는 정보의 양이 줄어들어서 생긴 것이라고 나와있습니다. 즉 정리를 하면 라이브러리 기반 .js는 Chrome에서 더이상 사용되지 않는 navigator기능을 사용하고 있어서 문제였습니다. 주로 navigator에 관해서 설명을 하고 있는데 navigator은 브라우저에 대한 다양한 정보를 저장하는 객체라고 생각하면 됩니다. 자세한 내용은 들어가서 보시면 좋습니다. 그래서 해당 라이브러리를 update하거나 삭제해야 하는데 다시 코드를 정리하면서 문제를 해결해 보겠습니다. 다음은 stackoverflow에 해당 문제 해결이 나..
우아한 테크 코스를 하면서 VSCode에서 Live Server을 같이 실행을 했는데 다음과 같은 오류가 생성되었습니다. 그래서 다음과 같이 해결하였습니다. 응답을 받기 전에 메시지 포트가 닫혔습니다. => 구글 확장 프로그램과 충돌하는 증상입니다. 크롬확장 사이트 로 가서 하나씩 하나씩 꺼보면 됩니다.