목록웹 개발/JAVASCRIPT (35)
dukDukz
동기와 비동기 / 동일한 기찻길 이 하나의 기찻길이 전문용어로 쓰레드 그래서 js 가 싱글 쓰레드 (기찻길 하나) 라서 비동기라는 프로그램을 쓴다, 콜백이 유독많은 이유가 이것 때문 싱글스레드가 무조건 나쁘냐? 그건 또 아니다. //[sample.js] let a = 1; let b = 2; let fn = () => { console.log('a'); } function fn2(){ console.log('b'); } let c = 10 let o = { a: 1, b: 2 } heep 이라는 공간 : 장바구니 무언가 내용을 저장하는..공간 코드를 주워 담음 let a = 1 이런거를 다 주워 담음 저 전체가 다 담아져 있음 (실행은 된 것) 실행은 됐는데... 담기만 했다. 담고 나서 사용을 한다. ..
1. if 문을 쓰는 경우 let gender = "여자"; // 남자 or 여자 // 남자일 경우 숫자 1을 출력, 여자일 경우 숫자 2를 출력 if(gender == "남자"){ console.log(1); }else if(gender == "여자"){ console.log(2); } 2. switch 문 - 가독성이 좋다. (기능차이는 없음) let gender = "여자"; // if 문에서 == 만 활용할때 같다 표현이 복수 일때 switch(gender){ case "남자" : console.log(1); break; case "여자" : console.log(2); break; } * case가 겹치는 경우 - - switch 문을 사용하는것이 좋다. let 과일 = "배"; switch(과..
비구조 할당문은 원본값이 바뀌더라도 처음에 복사할 때, 그 시점의 값을 쓰고 싶을때 사용하면 좋다. (깊은 복사) 예시 ① [배열] 비구조 할당문 사용하지 않고 배열에 있는 값을 새로운 변수에 담을 때 // 방법 1 - 이건 비구조 할당문이 아님 let arr = [1,2,3,4,5,6,7,8,9]; let a = arr[0]; let b = arr[1]; let c = arr[2]; 비구조 할당문을 사용해 배열에 있는 값을 새로운 변수에 담을 때 let arr = [1,2,3,4,5,6,7,8,9]; let [a,b,c, ...last] = arr; console.log(a); // 1 console.log(b); // 2 console.log(c); // 3 console.log(last); // 나..
1. join.html 아이디 ... join.html 의 script 부분에 라이브러리를 연결해준다. AJAX로 연결하려고 한다. let data = await axios.get(`http://localhost"3000/user/userid_check?userid=${userid.value}`); // Promise 객체로 반환된다. 우리가 적은 userid 값을 쿼리로 보낸다 이걸 db에 조회한다. 여기서 true false 값을 받아서 받은 값을 login_flag 에 넣어준다. 여기서 이 data는 localhost:3000 에서 개발자 도구에서 콘솔로그를 찍어서 확인할 수 있다. http://localhost:3000/user/userid_check?userid=web7722 이렇게 확인해보기 ..
* 패스워드 확인 부분 join.html 에서 폼태그, 패스워드 두개, 서브밋 버튼에 id값 부여 아이디 문자가 뜰 영역 p로 만들어주고 script처리해서 패스워드 일치할 때만 submit으로 들어가게 -> 퍼블리싱 역할
콜백지옥을 해결하기 위해 Promise가 나왔지만 이것도 가독성이 떨어져서 async라는것을 만들었다 1. return값이 Promise객체로 온다. {state : ? result : ?} return 안에 있는 값들은 Promise 객체 안에 있는 result 값 안에 들어간다. async function 자동차(name){ return Promise.resolve(name); //result로 값이 가고 //return Promise.reject(name); // error로 값이 간다. } 자동차('아반떼').then(result=>{ console.log("result = ",result); }).catch((error)=>{ console.log("error = ",error); }).fina..
try catch 문 = 예외처리문 let a = 'hello'; try { if(a != undefined) throw a; console.log(a,"world"); } catch (error) { console.log(error); } try{ a != undefined 이면, try구문을 종료하고 값을 가지고 catch문으로 가라 else ( a == undefined )이면 콘솔로그 출력 } catch{ 에러값 출력 } // 결과값은 true function f(){ try { console.log(0); throw 'error'; //throw를 만나면 catch문으로 이동함 } catch (error) { console.log(1); return true; // 맨 마지막에 나옴 } fina..
Promise 객체 더보기 resolve : 성공 reject : 실패 [결과값이 Object 임 - new 때문에] const pr = new Promise((resolve, reject)=>{ code block setTimeout(()=>{ resolve('성공'); // value },3000); }); 콜백함수 실행 전 { state : pending (대기상태) result : undefined } 콜백함수 실행 후 완료 되었을 때 { state : fulfiled (이행완료) result : " 성공! " //특정 값 } 콜백함수 오류 { state : rejected (거부) result : " 실패 " } 성공했을 때 실패했을 때 코드를 따로따로 넣어줄 수 있다 Promise chaini..