본문 바로가기

기초8

javascript 기초부시기 - 이벤트 루프 사실 이벤트루프는 자바스크립트의 기초는 아니다. mdn web docs에서도 Adavanced에 속해있으니까.. 하지만 이런 개념을 모르고 자바스크립트를 공부하다보면 작성자와 같이 다시한번 기초를 공부해야할 수 있다. 1.이벤트루프 자바스크립트는 싱글스레드 언어이다. 싱글 스레드라는건 한번에 하나의 작업만 처리 할 수 있다는 것인데, 자바스크립트를 다뤄보면 반복문을 실행하면서 API를 요청하고, 그 결과를 보여주는 다양한 작업을 한번에 수행하는 것처럼 보인다. 이 싱글스레드의 메인스레드인 이벤트루프가 어떻게 동작하는지 알아보자. 이벤트루프는 스택(Stack), 힙(Heap), 큐(Queue)로 구성되어있다. 1.1 스택(Stack) 자바스크립트에서 함수를 호출할때마다 프레임 스택을 형성하여 스택에 쌓이게.. 2022. 5. 29.
javascript 기초부시기 - 데이터 타입 - object(객체) 3 1. 객체 1.1 객체는 참조타입 객체는 객체타입 혹은 참조타입이라고 한다. 참조타입은 원시타입과 달리 모든 연산이 실제값이 아닌 참조값으로 처리된다는 의미이다. 원시타입의 값은 한번 정해지면 변경할 수 없지만(이에 대해서는 변경 불가능 값 을 다시 읽어보세요.) 객체는 프로퍼티를 변경, 추가, 삭제가 가능하므로 변경이 가능한 값이다. 객체는 언제든지 변경/추가/삭제가 일어나기 때문에 어느정도의 메모리를 확보해야하는지 알 수 없기 때문에 런타임에 메모리 공간을 확보하고 메모리의 힙 영역에 저장된다. 객체타입과 원시타입의 특징은 아래의 코드와 같다. //참조 타입 var obj = { val: 10 } var foo = obj; console.log(obj.val, foo.val) //10 10 conso.. 2022. 5. 29.
javascript 기초부시기 - 데이터 타입 - object(객체) 2 1. 객체 1.1 객체의 프로퍼티 var person = { "first-name": 'kim', /* -를 프로퍼티의 키값에 사용하면 SyntaxError가 발생한다. ( -는 연산자이기때문) 이때는 따옴표(")를 사용해야한다. */ first_name: 'hi', // 언더바(_)는 가능하다. 123: 456 // 숫자도 입력가능하나, 프로퍼티에 키값으로 사용되면 문자열이 된다. }; 프로퍼티의 키값은 문자열이므로 따옴표(")를 써야하지만, 유효한 이름일 경우에는 생략할 수 있고 위의 예제와 같이 연산자(-, +) 가 들어가거나 유효하지않은 문자열의 경우에는 따옴표(")를 사용하는 것이 좋다. 1.2 객체의 프로퍼티 읽기 var person = { 'first-name': 'Ik', 'last-nam.. 2022. 5. 28.
javascript 기초부시기 - 데이터 타입 - object(객체) 1 1. 객체 자바스크립트는 객체 기반의 스크립트 언어이기 때문에 자바스크립트를 이루고 있는 거의 모든것이 객체다. 원시타입(boolean,null, undefined, number, string, symbol)을 제외한 나머지 값(함수, 배열, 정규표현식) 등은 전부 객체이다. 객체는 key(키)와 value(값)로 구성된 property의 집합이다. value는 자바스크립트에 존재하는 모든 값을 사용할 수 있으며, 함수를 value로 사용할 경우 일반 함수와 구분하기 위해 메소드라고 부른다. 1.1 프로퍼티(property) 프로퍼티에 키(key)는 빈 문자열을 포함하는 모든 문자열 또는 symbol 값만 정의할 수 있으며, symbol로 정의 시 문자열로 자동 변경된다. 값(value)는 모든 값을 정.. 2022. 5. 27.