Javascript - 요약본(업데이트중)

IT쿠키·2023년 1월 18일
0

[뉴비쿠키_JS탐험기]

목록 보기
11/13

내가 볼 용도로 만드는 것들

자바스크립트 기능들에 대해서 간단하게 소개하고 요약해보자

let?

let 명령문은 블록 스코프 범위를 가지는 지역 변수를 선언하며, 동시에 임의 값으로 초기화 할 수 있는 데 여기서 중요한 건 변수다. 여기서 변수란 하나의 값을 저장하기 위해 확보한 메모리 공간 자체이며 그 메모리 공간을 식별하기 위해 붙인 이름인데 자바스크립트는 매니지드 언어 이기 때문에 개발자가 직접 메모리를 제어하지를 못 한다. 따라서 개발자가 직접 메모리 주소를 통해 값을 저장하고 참조할 필요가 없는 변수를 통해 안전하게 값에 접근할 수 있다.

let x = 1;

if (x === 1) {
  let x = 2;

  console.log(x);
  // Expected output: 2
}

console.log(x);
// Expected output: 1

const?

const는 어떻게 보면 변수와 사용하는 방법은 같지만 살짝 다르게 블록 범위의 상수를 선언합니다. 상수의 값은 재할당할 수 없으며 다시 선언할 수도 없습니다. 물론 지역 또는 전역으로도 선언이 가능하고 선언되는 같은 문에 그 값을 지정해줘야 합니다.(근데 이건 변경이 안됩니다^^)

const number = 42;

try {
  number = 99;
} catch (err) {
  console.log(err);
  // Expected output: TypeError: invalid assignment to const `number'
  // (Note: the exact output may be browser-dependent)
}

console.log(number);
// Expected output: 42

let 과 const 는 기본적으로 var 를 대체합니다. 여러분은 var 대신 let 을 사용하고, var 대신 const를 사용하게 됩니다.

ES6 Arrow Functions

보통 화살표 함수라고 하는데 기존에 있던 functional 한 함수표현의 간편한 대안입니다. 참고로 장점은 this 나 super에 대한 바인딩이 없고, 메서드 로 사용될 수 없습니다. new.target 키워드가 없기도 하고 일반적으로 스코프를 지정할 떄 사용하는 call, apply, bind 메서드도 사용할 수 없습니다. 참고로 생성자도 생성이 안된다.

const materials = [
  'Hydrogen',
  'Helium',
  'Lithium',
  'Beryllium'
];

console.log(materials.map(material => material.length));
// Expected output: Array [8, 6, 7, 9]

const resultNumber = number => number * 2
console.log(resultNumber(2)); // 4가 나온다.

화살표 함수에는 'this’가 없습니다
그래서 화살표 함수 본문에서 this에 접근하면, 외부에서 값을 가져오는 데 이러한 특징으로 활용할 수 있는 방안들이 많다.

profile
IT 삶을 사는 쿠키

0개의 댓글