JS #4 Syntax (4) - Callback, hoisting, async & await

황은하·2021년 9월 30일
0

JS

목록 보기
4/19

Callback

콜백함수

: 현재 실행하는 함수가 끝날 때 return을 하는데, 그 때 내가 지정한 함수를 return한다.

function hi(callback) {
  const a = "hi";
  console.log("hey");
  return callback(a);
}
  • let -> lexical scope, block scope => 같은 이름으로 변수를 만들 경우 누적된다.
  • var -> global scope => 같은 이름으로 변수를 만들 경우 덮어씌워진다.
var i = 0;
function ish() {
  var i = 1;  // 위의 i가 1로 덮어씌워진다. 
}

하지만 지금은 var 신경쓰지 말자! 안쓴다!


Hoisting

: 파일 저장 시(run time 되기 직전) function, var를 메모리에 미리 할당시킨다. 그래서 코드를 선언하기 전에 함수를 실행할 수 있다.

  • 익명함수(annonymous function)은 hoisting이 안된다.
  • 키워드(ex. function, var, ...)를 보고 hoisting을 하므로 키워드가 없다면 hoisting이 안된다.

배열은 배열 자체의 주소도 있고, 배열 내의 원소들의 각각의 주소도 존재한다.

let -> flexible, const -> static
=> 되도록 const를 쓰자.(바뀔 위험이 있다.)

배열을 for 문에 쓸 때,
of -> 요소
in -> 인덱스
나타낸다.


async & await

async function

: 비동기 함수. 기다려야 하니까 web api로 보내서 실행된다.

await & fetch

: 응답이 다 올 때까지 기다린다. 응답이 다 오면 다음 함수를 실행한다.
await을 쓰려면 async 함수여야 한다.

profile
차근차근 하나씩

0개의 댓글