230829 var, let, const 차이 | 캐시

나윤빈·2023년 8월 29일
0

TIL

목록 보기
43/55

1. var, let, const 차이

var

  • var는 오래된 변수 선언 키워드로 함수 스코프를 가진다.
  • 이는 변수가 선언된 함수 내에서만 유효하다는 의미이다.
  • 같은 이름의 변수를 여러 번 선언해도 오류가 발생하지 않는다.
  • 이 때 변수 값은 가장 최근의 선언으로 덮어 쓰이게 된다.
  • var 변수는 호이스팅에 영향을 받아 변수 선언을 해당 스코프의 최상단으로 끌어올린다.

let

  • let은 ES6에서 등장한 변수 키워드로 블록 스코프를 가지며, 중괄호 내에서만 유효하다.
  • 이는 해당 블록 외부에서는 변수에 접근할 수 없음을 의미한다.
  • 같은 이름의 변수를 중복해서 선언하면 에러가 발생하며 한 스코프 내에서 동일한 이름의 변수를 재선언 할 수 없다.

const

  • const도 ES6에서 도입된 변수 선언 키워드로 블록 스코프를 가진다.
  • 한 번 할당된 값은 변경할 수 없으나 const로 선언된 객체나 배열의 내용은 변경할 수 있다.
  • 즉 객체나 배열 자체는 변경할 수 없지만 내부 속성이나 요소는 수정될 수 있다.

2. 캐시

캐시란?

  • 데이터를 미리 복사해 놓은 임시 저장소이다.
  • 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리이다.
  • 데이터 접근에 오래 걸리는 경우를 해결하고 다시 계산하는 시간을 절약한다.
  • 즉, 캐시는 계층과 계층 사이에서 속도 차이를 해결하기 위한 임시 저장소이다.

지역성이란? 자주 사용되는 데이터의 특성을 의미한다. 캐시를 직접 설정할 때는 자주 사용되는 데이터를 기반으로 설정해야 하며 이러한 특성을 지역성이라고 한다.

  • 시간 지역성: 최근 사용한 데이터에 다시 접근하려는 특성이다.
  • 공간 지역성: 최근 접근한 데이터를 이루고 있는 공간이나 그 가까운 공간에 접근하는 특성이다.

3. 캐시히트와 캐시미스

캐시히트

  • 캐시히트란 캐시에 원하는 데이터를 찾는 것이다.
  • 위치도 가깝고 CPU 내부버스를 기반으로 작동하여 빠르다.
  • 캐시히트를 하게 되면 해당 데이터를 제어장치를 거쳐 가져오게 된다.

캐시미스

  • 캐시미스란 해당 데이터가 캐시에 없다면 주메모리로 가서 데이터를 찾아오는 것이다.
  • 메모리를 가져올 때 시스템 버스를 기반으로 작동하기 때문에 느리다.
profile
프론트엔드 개발자를 꿈꾸는

0개의 댓글