원시 값

1 - var 키워드로 선언한 변수의 문제점 var는 JS만의 특이한 특징을 갖고 있어 사용하는데 주의를 요구하는 키워드이다. 이를 무시하고 무분별하게 사용하게 되면 아래와 같은 문제가 발생할 수 있다. 1-1. 변수 중복 선언 허용 var 키워드를 이용해 변수를 중복 선언하면 초기화문의 유무로 다르게 동작한다. 초기화문이 있는 경우는 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작한다. 초기화문이 없는 경우는 변수 선언문은 무시된다. 변수를 중복 선언하게 되면 의도치 않게 먼저 선언한 변수의 값이 변경될 수 있는 문제가 발생한다. 1-2. 함수 레벨 스코프 var 키워드로 변수를 선언하면 오직 함수의 블럭만을 지역 스코프로 인정한다. 이것은 함수 이외의 다른 블럭(조건문 등 {}로 ..
Javascript의 타입은 크게 두 가지로 분류된다. 바로 원시 타입과 객체 타입으로 구분할 수 있다. 이렇게 두가지로 분류한느 이유는 무엇일까? 원시 타입은 변경 불가능한 값이다. 하지만 객체 타입의 값은 변경 가능한 값이다. 원시 값을 변수에 할당하면 변수에는 실제 값이 저장된다. 객체를 변수에 할당하면 변수에는 참조 값이 저장된다. 변수에 원시값을 갖는 변수를 할당하면 원시 값이 복사되어 전달된다 ➡ 값에 의한 전달 변수에 객체를 가르키는 변수를 할당하면 참조 값이 복사되어 전달된다 ➡ 참조에 의한 전달 1. 원시 값 원시 타입의 값은 변경 불가능한 값이다. (한번 생성된 원시 값은 읽기 전용 값으로 변경할 수 없다) 하지만 우리는 변수의 원시 값을 재할당을 통해 변경이 가능한데 변경 불가능하다는..
1. 정의 자바스크립트 엔진이 자바스크립트를 실행할 때 원시 타입 및 참조 타입을 저장하는 메모리 구조로 콜 스택과 힙을 갖는다. 1-1 콜스택 원시타입 값과 함수 호출의 실행 컨텍스트(Execution Context)를 저장하는 곳이다. 1-2 힙(메모리 힙) 객체, 배열, 함수와 같이 크기가 동적으로 변할 수 있는 참조타입 값을 저장하는 곳이다. 2. 동작 원리 let a = 10; let b = 35; let arr = []; function func() { const c = a + b; const obj = { d: c }; return obj; } let o = func(); 위 코드를 콜 스택과 힙의 동작으로 확인해 보자. 제일 처음으로 GEC(Global Execution Context, 글..
58청춘
'원시 값' 태그의 글 목록