| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 타입스크립트
- chromatic error
- next js
- v8 원리
- gql restapi 차이
- 항해99
- FP 특징
- 항해99 미니프로젝트
- 함수형 프로그래밍 특징
- toggle-btn
- 알고리즘
- 리액트 메모이제이션
- 항해99 사전스터디
- 리덕스
- 테스트 코드 툴 비교
- 웹 크롤링
- 리액트 메모
- JS module system
- 자바스크립트 엔진 v8
- 웹팩 기본개념
- 실행컨텍스트
- 리액트
- js배열 알고리즘
- 항해99 부트캠프
- this
- Js module
- 렌더링 최적화
- jwt
- 리액트 렌더링 최적화
- 코어자바스크립트
- Today
- Total
목록JavaScript (14)
Jaeilit
실행컨텍스트 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 자바스크립트는 어떤 실행 컨텍스트가 활성화되는 시점에 선언 된 변수를 위로 끌어올리고(호이스팅) 외부 환경 정보를 구성하고, this 값을 설정 하는 등의 동작을 수행함. # 스택과 큐 스택과 큐는 자료구조와 알고리즘에서도 나오는 개념임 스택 선입후출 (FILO) 스택은 쌓다라는 의미로 블럭을 밑에서 위로 쌓듯이 책을 쌓듯이 쌓는 구조를 의미함 쌓여있으니 당연히 맨 처음에 들어온게 맨 마지막에 나가게 된다. 호출스택이 쌓이는 스택구조에 너무 많은 스택이 들어가면 stack over flow 에러가 발생함. 예를 들어 100개만 저장할 수 있는 스택에 101개가 들어가면 stack over flow 에러가 발생. 큐 선입선출 (FIFO) 터널과..
불변성이 필요한 경우는 값으로 전달 받은 객체에 변경을 가하더라도 원본객체는 변하지 않아야 하는 경우이다. 다시 전달받은 객체에 변경을 가하더라도 (가변) 원본객체는 변하지 않아야한다. (불변) 가변은 데이터의 내부 프로퍼티만 바뀔 때 성립한다. 데이터 자체를 변경하고자 하면 원시형형 데이터와 마찬가지로 기존의 데이터는 변하지 않는다. (새로운 객체를 만들게 됨, 불변) 불변성을 지키면서 내부프로퍼티만 변경하려면 새로운 객체를 만들면서 원본의 데이터를 불변상태로 보존하고 새로운 객체에서 내부프로퍼티만 변경하면 된다. changName 함수 로직에 따라 user는 newUser에게 복사함으로써 같은 주소를 바라보고 newUser.name에 newName을 할당하더라도 같은 주소를 바라보기 때문에 내부프로퍼..
# 데이터 타입 - 기본형(원시형) - 참조형(레퍼런스) ## 기본형 - number - string - boolean - null - undefined - 심볼 ## 참조형 - object - Array - function # 차이점 기본형과 참조형의 차이는 불변성에 있음, 간략하게 말해 기본형은 값이 담긴 메모리의 주소 값을 바로 바라보지만, 참조형은 그 값들이 담긴 묶음의 주소 값을 바라봄, 불변성을 이해하기 위해서는 조금의 메모리 지식이 필요하기 때문에 메모리를 잠시 살펴 보고 넘어감, # 메모리 메모리와 데이터, 컴퓨터는 0과 1 로 이루어진 기계어이다. 메모리는 0과 1을 비트라는 메모리의 조각으로 기억한다. 메모리는 수많은 비트들로 구성되어 있는데, 각 고유한 식별자로 위치를 확인 할 수도 ..
객체란(?) 객체는 데이터들을 저장/관리 합니다. Type 은 Object 입니다. 객체의 프로퍼티와 메서드들은 '키값'으로 구분된다 객체는 여러가지 값을 가질 수 있으며, 함수도 가질 수 있다. 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드라 부른다. 생성 방식 객체 리터럴 생성자 함수 object.create() 객체 리터럴 방식 const abc = { // 일반적인 key 와 value name : "재일", age : 99, // 함수(메서드) yubin: function() { console.log(this.name, this.age) } } // 객체 console.log(abc) // {name: "재일", age: 99, yubin: ƒ yubin()} // 객체 함수(메..
1. Spread 전개 2. Rest 나머지 매개변수 3. Object.assign() 1. Spread 전개구문 인용글(MDN) https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_syntax 코드 예시(배열) var parts = ['shoulders', 'knees']; var lyrics = ['head', ...parts, 'and', 'toes']; // ["head", "shoulders", "knees", "and", "toes"] 더보기 전개구문이 없을 때에는 배열에 요소를 추가/수정 하려면 splice(수정) 또는 push(추가), concat(붙이기) 를 사용해야 했지만 전개구문을 사용 하면 배..
1. npm과 dependencies, devdependencies 의 이해 -> dependencies 는 프로젝트를 위한 패키지들의 모임 -> devDependencies 는 개발자의 편의를 위한 패키지들의 모임 2. express 프레임워크 사용 -> 서버단을 만드는 것을 도와주는 프레임워크 3. babel의 이해와 babel 패키지 설치 및 babel.config.json 설정 + nodemon 설치 3.1 bable 이란 -> 최신코드를 Node.js 가 이해 할 수 있게 하고 complie을 도와주는 패키지 -> 공식 홈페이지 번역본 Babel은 현재 및 이전 브라우저 또는 환경에서 ECMAScript 2015+ 코드를 이전 버전의 JavaScript로 변환하는 데 주로 사용되는 도구 체인입니..
