본문 바로가기

Javascript39

JavaScript - 값 타입(Value Type)과 참조 타입(Reference Type) 자바스크립트는 값에 의한 전달(passed by value)이 일어나는 원시 타입(Primitive Types)과 참조에 의한 전달(passed by reference)이 일어나는 데이터 타입이 있다. 데이터 타입은 객체(Object)로 볼 수 있다. 원시 타입(Primitives) 원시 타입이 변수에 할당된다면, 그 변수를 원시 타입을 가진 변수라 생각할 수 있다. let a = 1; let b = 'bb'; let c = null; 이런 경우 a는 1이란 값을 가지고 있고, b는 'bb'라는 값을 가지고 있다. 이걸 메모리 상에 존재하는 변수들을 다음과 같이 표로 나타낼 수 있다. Variables Values a 1 b 'bb' c null 이 변수들을 다른 변수에 =를 이용해 할당할 때, 새로운 .. 2020. 9. 7.
JavaScript - Primitive Type 자바스크립트에서는 원시 타입(Primitive Type)과 참조 타입(Reference Type)이라는 두 가지 자료형을 제공한다. Primitive type(원시 타입) 원시 타입은 자바스크립트에서 객체가 아닌 것들이며 값 자체로 저장된 것이라 볼 수 있다.(원시타입은 value로 저장, 객체들은 reference로 저장) 즉, 원시타입의 데이터는 변수에 할당이 될 때 메모리 상에 고정된 크기로 저장되고, 해당 변수가 원시 데이터 값을 보관한다. 원시 타입 자료형은 모두 변수 선언, 초기화, 할당 시 값이 저장된 메모리 영역에 직접적으로 접근한다. 변수에 새 값이 할당될 경우, 실제로 변수에 할당되었던 원시타입의 값이 바뀌는 것이 아니라 새로운 원시타입의 값이 들어가는 개념이다. 원시타입 값 자체는 절.. 2020. 9. 6.
JavaScript - Call Stack(호출 스택) Call Stack 자바스크립트는 싱글 스레드(single-threaded) 프로그래밍 언어이기 때문에, 콜 스택이 하나이다. 따라서 한 번에 하나의 일만 할 수 있다. 콜 스택은 함수의 호출들을 기록하는 자료구조이다. 기본적으로 우리가 프로그램 안에서 위치한 곳이다. 만약 어떤 함수를 실행시킨다면, 스택 위에 무언가를 올리는(push) 행위를 하는 것이다. 그리고 함수로부터 반환을 받을 때, 스택의 맨 위를 가져오는(pop) 행위를 하는 것이다. 위 코드가 실행되면 호출 스택은 아래와 같이 기록되게 된다. 호출 스택(call stack) 콘솔(console) console.log(d) d(); console.log(c) c(); console.log(b) b(); console.log(a) a(); '.. 2020. 9. 3.
JavaScript - JSON JSON(JavaScript Object Notation)은 ECMAScript 3rd 1999에서 쓰여진 object에서 큰 영감을 받아 만들어진 데이터 포맷이다. JSON 또한 {key : value}로 이루어져 있다. JSON은 브라우저 뿐만 아니라, 모바일에서 서버와 데이터를 주고받을 때 또는 서버와 통신을 하지 않아도 object를 파일 시스템에 저장할 때도 JSON 데이터 타입을 많이 이용하고 있다. 간략히 정리해보자면, 데이터를 주고 받을 때 쓸 수 있는 가장 간단한 파일 포맷이다. 텍스트 기반으로 가볍다. 읽기 편하다. key와 value로 이루어진 파일 포맷이다. 데이터를 서버와 주고받을 때 직렬화하고 전송할 때 쓰인다. 프로그래밍 언어나 플랫폼에 상관없이 쓸 수 있다. Object를 J.. 2020. 9. 2.