자바스크립트
-
[TIL] 스택과 큐IT 지식 2021. 7. 11. 17:49
1. 스택 1) 정의 스택은 자료구조의 일종으로, 마지막에 삽입된 항목만을 제거하고 접근할 수 있다. 이러한 원리를 후입선출(LIFO)이라고 한다. 스택은 속도가 빠르다는 장점이 있다. 스택은 알고리즘이 마지막에 추가된 항목만을 접근해야 하는 후입선출 형태로 자료를 처리해야 하는 경우에만 배열에 대해 사용한다. 스택의 한계는 배열과 딜리 마지막에 추가된 항목 외에는 직접 접근할 수 없다는 것이다. 게다가 초반에 추가된 항모글 접근하기 위해서는 이후에 추가된 항목들을 자료구조로부터 제거해야 한다. 자바스크립트에는 스택 클래스를 정의한 pop과 push라는 메소드가 있다 2) 들여다보기 스택의 마지막에 추가된 항목을 들여다보는 것(peeking)은 마지막에 추가된 항목을 스택 자료구조에서 제거하지 않고 반환..
-
[TIL] 해시 테이블IT 지식 2021. 7. 11. 17:04
1. 해시 테이블의 정의 해시 테이블은 고정된 크기의 자료 구조로 처음에 크기가 정해진다. 해시 테이블을 사용하면 자료를 쉽고 빠르게 저장할 수 있고, 키-값을 기반으로 자료를 얻을 수 있다. 자바스크립트에서 자바스크립트 객체는 해시테이블과 같은 방식으로 키와 해당 키의 연관된 값을 정의하는 방식으로 동작한다. 해시 테이블에는 put(), get() 이리ㅏ는 두 가지 주요 함수가 있다. put()은 자료를 해시 테이블에 저장하는데 사용하고, get()은 해시 테이블로부터 자료를 얻는 데 사용된다. 두 함수 모두 시간 복잡도가 O(1)이다. 간단히 말하자면 해시 테이블은 인덱스가 해싱 함수에 의해 계산되는 배열과 매우 유사하다. 이때 인덱스는 메모리에서 유일한 공간을 식별하기 위한 것이다. 2. 해싱 기법..
-
[TIL]Day 24. map, reduce 메소드에 관하여 in javascriptIT 지식 2020. 10. 13. 17:47
오늘은 자바스크립트 메소드 중 활용도가 매우 높다고 하는 map과 reduce 메소드에 대해 알아보도록 하겠습니다. 1. map map 메소드는 MDN 문서에는 다음과 같이 정의하고 있습니다. 더보기 map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. map메소드는 다음과 같이 사용합니다. arr.map((요소, 인덱스, 배열) => { return 요소}); map은 반복문을 돌며 배열 안의 요소들을 1 대 1로 짝지어 주는 역할을 합니다. 그 요소들을 어떻게 짝지어줄 것인가에 대해서는 함수로 정의할 수 있습니다. 이때 특이한 점은 map 메소드의 return 값으로 나온 배열은 기존의 배열과는 다른 새로운 배열이라는 것입니다. 단, 배열..
-
[TIL]Day 17. addEventListener 에 대해IT 지식 2020. 9. 23. 19:30
자바스크립트의 활용성이 커짐에 따라 웹에서는 다양한 이벤트를 발생시킬 수 있게 되었습니다. 이러한 이벤트의 발전은 웹 개발을 프론트엔드와 백엔드를 분화시키는데 큰 기여를 하게 되었습니다. 오늘은 자바스크립트의 기능 중 이벤트를 달 때 사용하는 함수인 addEventListener에 대해 알아보도록 하겠습니다. 1. addEventListener란? addEventListener는 앞서 말씀드렸다시피 이벤트를 달때 사용하는 함수입니다. 이 단어를 직역하자면, '이벤트를 듣고 있는 함수를 더해주겠다.'는 의미가 되죠. addEventListener는 개발자가 정한 특정 이벤트를 주시하고 있다가 그 이벤트가 발생할 때 인자로 받은 함수를 실행시켜줍니다. 예시를 들어보면 다음과 같습니다. 요소.addEventL..
-
[TIL]Day 11. JS - 클래스와 오브젝트IT 지식 2020. 9. 4. 22:40
1. 객체지향 프로그래밍 객체지향 프로그래밍은 실제 세계의 운영방식을 따라하기 위해 추상화를 사용하는 프로그래밍 방식을 의미합니다. 쉽게 말하자면, 객체지향 이전의 프로그래밍은 함수들의 집합 혹은 단순한 컴퓨터의 명령어들을 모아놓은 목록이라는 기존의 관점을 뒤어서, 서로간의 관계성이 존재하는 객체들의 집합이라는 관점에서 코딩하는 방식을 말합니다. 예를 들어보죠. 객체지향 이전의 프로그래밍은 지시사항이 잔뜩 들어있는 순서대로 집을 짓는 방식이었습니다. 그 지시사항의 순서를 바꾸거나 다른 곳에서 활용하기 매우 어려운 구조였죠. 하지만 객체지향 프로그래밍이 등장한 이후에는 가공된 목재들을 만들고, 공구 도구들을 만들어서 각각의 요소들을 활용한 집짓기, 상자나 책장 만들기 등의 활동으로 변화되었다고 생각하면 됩..