일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴퓨터공학
- useState
- Operating System
- Computer Science
- Props
- 자료구조
- context switching
- 파이썬 알고리즘 인터뷰
- OS
- 알고리즘
- 자바
- python algorithm
- codestates
- 개발공부
- 파이썬
- react 기초
- 운영체제
- Python
- 코드스테이츠
- Zerobase
- datastructure
- execution context
- REACT
- java
- 자바스크립트
- JavaScript
- 프로그래머스
- node.js
- algorithm
- 비동기
- Today
- Total
목록Language/JavaScript & Node.js (30)
Back to the Basics
Prototype 1. Object Prototype JavaScript는 Prototype 기반 언어(Prototype-based Language)이다. 모든 객체들이 Prototype 객체(Prototype Object)를 갖고 있고, 이를 통해 메서드와 속성들을 상속받는다. 공부를 하면서 제일 헷갈렸던 것은, prototype property, prototype, __proto__ 이다. Prototype property : 모든 함수 객체의 Constructor는 Prototype이라는 property(속성)을 갖고 있다. prototype 속성은 객체가 생성될 당시 만들어지는 객체 자신의 원형이 " 될 " prototype 객체를 가리킨다. 즉, 자신을 만든 원형이 아닌! 자신을 통해 만들어질 ..
OOP Basic concepts Application을 만들 때 객체지향을 이용하고 응용하면 좋은 설계를 할 수 있다. 객체지향 프로그래밍의 주요 컨셉으로는 크게 네 가지가 있다. 캡슐화 (Encapsulation)와 정보은닉 (Informaion Hiding) 우리는 객체의 생성을 위해 class를 디자인한다. 좋은 class를 만들기 위한 최소한의 조건은 정보은닉과 캡슐화이다. 정보은닉(Information Hiding) 정보은닉이란, 직접적으로 변경되면 안 되는 변수에 대한 접은을 오직 별도의 함수로 접근하도록 유도하는 것이다. 실수로 변수를 변경하려는 시도가 있을 때, 실수가 쉽게 발견되고 잘못된 값이 저장되지 않도록 제한된 접근 방법으로의 접근만 허용하는 방법이다. 캡슐화(Encapsulati..
Section 1이 끝나고 드디어 Section II에 들어섰다. 그 첫 번째 JS/Node 객체지향이다. 이번 Lesson 에서는 객체 지향 프로그래밍(OPP, Object-oriented programming)이 무엇인지 알아보고 객체 지향 프로그래밍의 특징, 그리고 이를 구현하는 방법과 상속에 대한 개념들을 공부한다. Achievement Gials 클래스와 인스턴스라는 용어를 이해한다. new , class 키워드 사용법 이해 현실 세계의 모델 --> class의 메서드와 속성을 디자인한다. 객체 지향 프로그래밍 특징을 이해한다. 캡슐화 , 상속, 추상화, 다령성 JavaScript에서 객체 지향 프로그래밍을 구현하는 방법을 이해한다. Prototype이 무엇인지 이해한다. 객체 지향 프로그래밍 ..
HA를 위해 이전에 풀었던 코플릿을 쭈욱~ 돌아보는 중에 풀었던 문제들 중 객체의 값들로 num 타입의 숫자들이 있는데, 이것들의 최댓값을 Object.values를 뽑아서 Math.max()로 뽑았던 것을 보았다. 혹시 배열로 따로 속성들을 뽑지 않고 최댓값을 구할 수 있는 방법이 있을까 순간 궁금해져서 HA를 공부해야 하는 이 바쁜 와중에 Math.max MDN을 들어가게 되었다. (시간이 걸리는 일은 아니니까) MDN을 보다보니 Math.max에 대해 몰랐던 사실과 기억하고 있어야 할 사항, 그리고 Math.max 대체 방법들이 나와있었다. 아, 이건 정리하여 기록을 해야겠다! 싶어서 이렇게 글을 또 쓴다. ( 빨리 나머지 코플릿 문제들 봐야 하는데,,,) Math.max MDN Math.max()..
**예제는 MDN을 참조하였다 코플릿을 다시 보면서 잘 사용하지 않던 method가 있어 정리해보았다. flta method에 대해 기능을 알아보고, filter가 어떻게 작동되는지 기능을 직접 코드로 구현해 보았다. arr.flat() : 배열 내부의 sub-srray 요소들을 특정 차원으로 새로운 배열로 return 한다. - syntax : flat() ,flat(depth) - param : depth는 optional 이며 중첩돤 배열 구조를 얼마나 깊게 flattering을 하는지를 지정하는 깊이를 나타낸다. 기본값음 1 기본값은 1이며, 아래의 코드는 2차원 배열 내부의 배열인 [4,5]을 1차원 배열 수준으로 flattering 한 것이다. const arr1=[1,2,3,[4,5],6,7..
이번 포스팅은 JavaScript 고차 함수 (Higher order function)에 대해 학습해보겠다. 1. 고차 함수 이해하기 Achievement Goals 일급 객체(first-class citizen)의 세 가지 특징을 설명할 수 있다. 고차 함수(higher-order function)에 대해 설명할 수 있다. 고차 함수를 JavaScript로 작성할 수 있다. JavaScript 에서 함수는 1) 변수에 assignment 가 가능하고, 2) 다른 함수의 argument로 전당 될 수 있으며 3) 다른 함수의 결과로써 리턴될 수 있다 는 특징이 있어 특별하게 취급된다. 이를 first-class citizen (일급 객체)라고 한다. 이 중 고차 함수(Higher oeder functio..
1. 클로저 자바스크립트에서는 다른 언어와 달리 크롤저 라는 개념이 있다. JavaScript MDN 에서의 클로저 정의 : "클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저는 독립적인 변수를 참조하는 함수이다. 독립적인 변수란 로컬에 선언되지도 않고, 파라미터로 넘져지지도 않는 변수를 말한다. 클로저에 선언된 함수는 생성되었을 때의 환경을 기억한다. 클로저를 이해하려면 JavaScript가 어떻게 변수의 유효범위를 지정하는지(Lexical scoping) 먼저 이해해야 한다 어휘적환경(Lexical Environment) 란? 어휘적 환경이란 선언 당시의 환경에 대한 정보을 담은 객체이다. 정적인 환경 이라고도 한다 스코프와 클로저는 밀접한 관계가 있는데 스코프는 변수의 유효 범위이고, ..
1. 원시 자료형과 참조 자료형 Achievement Goals 원시 자료형과(primary type) 과 참조 자료형(Reference Type)의 구분이 왜 필요한지에 대해 이해할 수 있다. 원시 자료형과 참조 자료형의 차이를 이해하고, 사용할 수 있다. 원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조 자료형이 할당될 때에는 보관함의 주소(Reference) 가 담기는 개념을 코드로 설명할 수 있다. 참조 자료형은 기존에 고정된 크기의 공간을 사용하는 것이 아니라, 동적으로 변하는 공간을 사용함을 이해할 수 있다. 원시자료형, 참조 자료형 원시 자료형 (primitive data type) Stack에 저장된다. 각 변수 간 원시타입 데이버를 복사항 경우 데이터 값이 복사되기..