JavaScript Deep Dive study - 2

2024-04-05

  • JavaScript
  • FE

변수의 정의

프로그래밍 언어에서 데이터를 관리 하기 위한 핵심 개념

리터럴과 연산자

리터럴(literal): 소스 코드에서 고정된 값 을 대표하는 식별자나 키워드입니다. 예를 들어, 숫자 5, 문자열 "hello", 배열 [1, 2, 3], 객체 {name: "John", age: 30} 등은 모두 리터럴입니다.

연산자(operator): 하나 이상의 값을 연산하여 새로운 값을 생성하는 기호나 키워드 입니다. 예를 들어, +, -, *, /, %, ==, !=, ===, !==, &&, ||, ! 등은 모두 연산자입니다.

표현식

으로 평가될 수 있는 코드 조각입니다. 리터럴, 변수, 연산자, 함수 호출 등은 모두 표현식입니다.

5 // 숫자 리터럴 표현식
"hello" // 문자열 리터럴 표현식
x // 변수 표현식
x + y // 연산자 표현식
sum(1, 2) // 함수 호출 표현식

표현식은 값으로 평가되므로, 다른 표현식의 일부 가 될 수 있습니다. 예를 들어, x + y 표현식z = x + y 표현식의 일부 입니다.

메모리

데이터를 저장할 수 있는 메모리 셀 의 집합체 셀 하나당 1바이트(8비트) 입니다.

이 1바이트 단위로 데이터를 저장/읽기를 합니다.

각 셀은 고유의 메모리 주소 를 갖고, 이것은 메모리 공간의 위치를 나타내며 정수로 표현 됩니다.

10 + 20

위의 숫자 10과 20은 메모리 상의 임의의 메모리 주소에 기억되며 연산 결과인 30도 똑같은 방식으로 기억(저장) 됩니다.

메모리에 저장되는 모든 값은 2진수 로 처리되어 저장됩니다.

메모리 접근 방식

이전 연산 결과 30을 사용하고 싶다면, 30이 저장된 메모리 공간에 직접 접근하는 것 외에는 방법이 없습니다.

이 방법은 오류를 발생시킬 확률이 큰 매우 위험한 방법이며, 따라서 자바스크립트는 이걸 허용하지 않습니다.

이 해결 방법을 위해 메모리에 저장하고, 저장된 값을 읽어 들여 재사용하기 위해서 변수 를 사용하는 것입니다. (값의 위치를 가리키는 상징적인 이름)

useColorSc...

Sorted 배열에...