Develop/자바스크립트 (JavaScript) 5

중첩된 Promise<Promise<T>>를 조심해!

async await 을 함수에서 리턴을 할 때 주의할 점이 있다. Bad 사례처럼, 이미 async가 붙은 함수에서는 리턴값 가장 바깥에 Promise가 붙기 때문에, 리턴값은 Promise가 붙으면 안된다. updateUserGoalVisible = async ( goalId: number, visible: boolean, ): Promise => { /* 👎 Bad 이미 async가 붙었기 때문에 리턴값은 순수한 Goal이어야 하는데, this.prisma.goal.update({}) 를 리턴함으로써 리턴값은 Promise이 되어버린다. 그래서 이 함수의 최종 리턴값은 Promise 이 되는 것이다. */ return this.prisma.goal.update({ where: { id: goalId..

[JavaScript] Week4

개발자 도구 network 탭 -> example 보면 데이터관련..? 그런거 볼 수 있음 - 비동기어떤 코드로 인해 1 2 3 코드 순서대로가 아니라 1 다음에 3이 실행될 수도 있다.=> callback 함수 이용해서 얘가 잘 끝났는지 코드 잘 실행됐는지 알아볼 필요가 있어// ajax때문에 비동기가 일어남.// 익명함수function fn(foo){ // 비동기 시작 // 비동기 끝 $.ajax({...}) .then(function(){ //비동기가 끝났을 때 실행됨 foo(); });ㅋㅋ //foo(); // 비동기 시작 끝 상관없이 걍 실행될 수 있으므로 then안에 써주긔} function a(){ } fn(a); // a라는 함수가 인자로 전달됨.fn(function(){}); // 함수도..

[JavaScript] Week2

https://github.com/YOOGOMJA/javascript_study github - wiki 보면 전체 볼 수 있음 https://github.com/YOOGOMJA/javascript_study/wiki/Week2 1.2.2onkeypress에 return false;를 넘겨주면 키 입력을 막을 수 있습니다. onkeydown='on(0,this,event)' function on(type, obj, evt){ return false; } 그러면 입력 못함. clear() console 꺠끗 // click이벤트 주기 document.getElementById('btn').addEventListener('click' , function(event){ // 클릭이벤트가 실행됐을 때 실행되는 ..

[JavaScript] Week1

https://github.com/YOOGOMJA/javascript_study solution branch에 답 있음 [example1.html] 1. getElementById로 요소 찾기 개발자도구(f12) - console을 보자! 입력) document.getElementById("head1")결과) Hello World! - class와 id의 차이class는 카테고리화id는 그 요소 하나를 딱 집어서 할 때! 2. getElementsByClassName으로 요소 찾기입력) document.getElementsByClassName("head1")[0]결과) Hello!class는 여러 개의 '의자'를 가져온다고 생각하기 때문에 (이게 표준) elements인거다! 3. 요소 생성하기입력) d..