[Javascript] 얕은 복사, 깊은 복사

자바스크립트에서 값은 원시값과 참조값으로 나뉜다. 원시값 Number String Boolean Null Undefined 참조값 Object Symbol 원시값은 값을 복사 할 때 복사된 값을 다른 메모리에 할당 하기 때문에 원래의 값과 복사된 값이 서로에게 영향을 미치지 않는다 하지만 참조값은 변수가 객체의 주소를 가리키는 값이기 때문에 복사된 값...

2020년 2월 8일
·
0개의 댓글

[Data structure] Stack, Queue

Stack stack 스택은 나중에 들어온 것이 먼저 나가는 Last-In First-Out 구조를 가지고 있고 보통 스택구조는 물건을 쌓는 모습으로 비유 된다. 일반적으로 쌓는 것을 push 빼는 것을 pop이라고 한다. 대표적으로 자바스크립트의 callstack이 있다. Stack의 Big-O 시간복잡도 삽입 insertion stack 구조에서 삽입...

2020년 2월 2일
·
0개의 댓글

[Data structure] 자료구조란?

자료구조는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 쉽게말해 데이터를 효율적으로 관리하는 방법을 의미한다. 자료구조를 왜 배워야 할까? 어떤 사람들은 자료구조를 배우지 않아도 코딩하는데 아무런 ...

2020년 2월 1일
·
0개의 댓글
post-thumbnail

[Javascript] var, let, const는 어떤 차이점이 있을까?

var var는 함수 스코프를 가지고 있는 변수 선언문이고 선언되면 프로그램이 실행 될 때 가장위로 끌려올려지고(hoisting) undefined 로 초기화 된다. 또한 var를 사용하면 변수를 선언 할 때 값이 유동적으로 바뀐다는 단점이있다. 같은 이름의 변수를 중복해서 선언했는데고 오류가 나지 않는다. 이러한 문제 때문에 es2015에서 let,...

2020년 1월 31일
·
0개의 댓글
post-thumbnail

[Javascript] 상속 Inheritance

자바스크립트에서는 상속을 prototype으로 구현한다. es2015에서 class문법이 추가되었지만 class 문법은 결국 protorype을 이용한 상속을 다른 문법으로 표현한 것이기 때문에 자바스크립트 개발자라면 prototype을 이용한 상속 방법에 대해 잘 알아야한다. 상속 Inheritance 프로그래밍에서 상속이라고 하면 일반적으로 코드 재사...

2020년 1월 31일
·
0개의 댓글
post-thumbnail

[Javascript] Prototype

Prototype 자바스크립트는 java, c++ 와 달리 prototype 기반의 객체지향 프로그래밍 언어이다. 클래스 기반 객체지향 언어에서는 먼저 클래스를 정의하고 인스턴스를 생성하는데 자바스크립트에서는 생성자 함수를 이용해 인스턴스를 생성하고 prototype cain을 통해 부모에게서 필요한 부분을 상속받는다. 자바스크립트에서는 객체를 생성하면...

2020년 1월 31일
·
0개의 댓글
post-thumbnail

[Javascript] 비동기 처리 - Async/Await

es2017에서는 promise 사용을 더 쉽게 하기 위해 async/await 문법을 도입했다. async/await을 사용하면 비동기 작업을 더 직관적으로 처리 할 수 있다. 사용 방법 먼저 async 로 비동기 함수를 정의하면 그 함수는 await 구문을 사용할 수 있다. 의미 그대로 await 사용하면 promise가 resolve 될때 까지 기...

2020년 1월 31일
·
0개의 댓글
post-thumbnail

[Javascript] 비동기 처리 - Promise

Promise가 등장하기 전까지 자바스크립트에서는 모든 비동기 처리를 callback 함수로 처리해 왔다. 하지만 callback 함수는 중첩이 될수록 에러처리가 매우 어려워지고 사람이 이해하기 힘든 코드가 되기 때문에 callback hell이라는 말까지 생기게 되었다. 그래서 비동기 처리를 쉽게 하기 위해 es2015에서는 Promise라는 문법이 추...

2020년 1월 30일
·
0개의 댓글
post-thumbnail

[Javascript] 비동기 처리 - 고차원함수와 Callback

비동기 처리 async 자바스크립트는 코드를 실행하면 코드가 완료되는 것을 기다리지 않고 바로 다음 코드가 실행되는 비동기 프로그래밍 언어이다. 하지만 경우에 따라 동기적으로 처리해야하는 코드가 있을 수도 있다. 위의 코드는 서버에서 사용자 정보를 가져오는 상황을 가정한 코드다. 함수는 setTimeout를 기다리지 않기 때문에 return된 이후 use...

2020년 1월 30일
·
0개의 댓글
post-thumbnail

[Javascript] 이벤트 루프와 비동기

자바스크립트에서 비동기 프로그래밍이 필요한 이유 만약 자바스크립트가 동기적으로 작동된다면 어떻게 될까? 예를 들어 서버에서 사용자의 정보를 받아오는 함수가 있다고하자, 그럼 브라우저는 서버에서 정보를 받아올때까지 다른 함수를 실행할 수 없다. 이때 프로그램은 정보를 다받아올때까지 아무것도 하지 못하는 상태가 된다. 이렇게 된다면 사용자 경험은 최악이 될것이...

2020년 1월 30일
·
0개의 댓글