배열, 객체, 호이스팅

Purple·2021년 9월 9일
0

TIL

목록 보기
15/73

1. spread 문법

-정해지지 않은 수(an indefinite number, 부정수) 인수를 배열로 나타낸다.

let arr = [10, 30, 40, 20]
let value = Math.max(...arr) // value값은 40이다. spread syntax는 iterable 한 모든 것(대표적으로 문자열, 배열) 요소를 '펼쳐'주는 문법을 의미한다.

2. rest parameter

  • 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 (함수로 호출할 경우) 또는 요소 (배열 리터럴의 경우)로 확장한다.
function printMaxNums(...args) {
  console.log(args) // [10,30,40]이 출력된다.
}
printMaxNums(10, 30, 40)

//만약, 아래와 같이 매개변수를 지정했다면,
function printMaxNums(num1, ...args) {
  console.log(args) // num1은 10, console.log에는 [30, 40]가 출력될 것

3. Object.keys() parameter

  • 주어진 객체의 속성 이름들을 일반적인 반복문과 동일한 순서로 순회되는 열거할 수 있는 배열로 반환
const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};

console.log(Object.keys(object1));
// Array ["a", "b", "c"]가 출력된다.

4. 호이스팅 (hoisting)

  • 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것이다. 이는 변수 및 함수선언이 물리적으로 작성한 코드의 상단으로 옮겨지는 것처럼 보이게 하지만, 실제로는 변수 및 함수 선언은 컴파일 단계에서 메모리에 저장되고, 코드에서 입력한 위치와 정확히 일치한 곳에 있다. 그리고 JavaScript는 초기화가 아닌 선언만 끌어올린다.
profile
다시 보면, 더 많은 것들이 보인다.

0개의 댓글