본문 바로가기
반응형

JavaScript19

예외처리... 코딩을 하다보면 종종 실수를 하는데.. 무슨 자신감인지.. Jvascript 코딩할 때는 예외처리를 종종 하지 않은 경우가 있다. Javascript는 애러 발생시 스크립트가 더이상 실행이 되지 않고 콘솔에만 애러 내용이 출력이 된다. 이때, 사용자는 이유를 알수없고 화면은 그냥 멈춘다. 이것을 방지하기 위해 try.. catch 를 사용하여 스크립트가 죽는 걸 방지하고, 에러시에 적절한 안내 등 뭔가를 할수 있다. * 문법 try{ // 코드 }catch(err){ // 에러 핸들링 } 기본 문법은 간단하다. try{...} 내에 코드를 실행하고 이상이 있으면 catch(err) {..} 로 이동하며, err 변수에 에러 내용을 전달함 (이때 err의 명칭은 아무거나 상관이 없음). ** 주의할점 - .. 2022. 6. 2.
async/await * async - 함수앞에 async라고 붙이면 함수는 항상 약속을 반환한다. async function a(){ return 1; } a().then.alert(); * await - Javascript가 약속이 완료 될 때까지 기다리게 하고 결과를 반환 함 async function a(){ let promise = new Promise((resolve, reject) => { setTimeout( () => resolve("ok"), 1000) }); let result = await promise; // promise의 실행이 끝날때 까지 기다림 console.log(result); } a(); 2022. 5. 27.
promise * Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과값을 나타냄. 미래의 어떤 시점에 결과를 제공하겠다는 약속(promise)를 반환 함. Promise를 사용하여 작업이 끝났을때 호출하는 callback 함수 대신 .then 메소드를 사용하여 명확하게 코딩할 수 있다. * 상태 - 대기(pending) : 이행하지도, 거부하지도 않은 초기 상태 - 이행(fullfiled) : 연산이 성공적으로 완료됨. - 거부(rejected) : 연산이 실패함 * 생성 - new Promise((resolve, reject) => { }) * 사용법 - 아래와 같이 변수로 선언하면 선언된 프로미스는 즉시 실행된다. let a = new Promise((resolve, reject) => {.. 2022. 5. 27.
호이스팅(hoisting) Javascript에서 호이스팅이란 , 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화 let, const로 선언한 변수의 경우 호이스팅 시 초기화 하지 않음 ==> 호이스팅 안되는거나 마찬가지임. Javascript는 초기화를 제외한 선언만 호이스팅 함. 간단하게 var로 선언한 변수와 function 키워드로 생성된 함수만 맨처음(코드상 맨 위로 끌어올려짐)에 실행 된다고 생각하면 쉬울듯.. console.log(a); var a ; a = "Hello"; 위와 같은 경우 콘솔에 출력되는 a의 값은 undefined 임 . 변수 a는 호이스팅에 의해 미리 초기화 되지만 a에 "Hello"의 할당은.. 2022. 5. 26.
switch 문 switch문은 다중 if 문을 대체 할 수 있음 .. 예를들어.. const a = ; if (a ===1){ console.log(1); }else if (a ===2){ console.log(2); }else if (a ===3){ console.log(3); }else{ console.log(0); } 의 경우 const a = 1; switch(a){ case 1: console.log(0); break; case 2: console.log(0); break; case 3: console.log(0); break; default : console.log(0); break; } ... 로 작성이 가능하다 . 각 case 에 break 추가해서 아래의 case가 실행이 되지 않게 한다. break가.. 2022. 5. 17.
3항 연산자... 간단한 if 문을 대체할때 사용 * 조건 ? 조건이 참일경우 실행 : 조건이 거짓일 경우 실행 a > b ? console.log("true") : console.log("false"); ** 3항 연산자 중첩 사용 * if.. else...의 중첩 도 대체 가능 ==== if 문 ==== if (a > b) { console.log("1"); } else if (a > c) { console.log("2"); }else if (a > d){ console.log("3"); } else { console.log("4"); } ==== 3항 연산자로 ==== a > b ? console.log("1") : a > c ? console.log("2") : a > d ? console.log("3") : co.. 2022. 5. 17.
반응형