목록CodeStates/learning contents (74)
Jieunny의 블로그
📣 Node.js ✔️ '비동기 이벤트 기반 JavaScript 런타임' 이다. ✔️ 모듈 : 어떤 기능을 조립할 수 있는 형태로 만든 부분으로, 그 중 fs(File System) 모듈은 PC 파일을 읽거나 저장하는 등의 일을 할 수 있게 도와준다. 📣 Node.js 내장 모듈을 사용하는 방법 ✔️ Node.js 내장 모듈 목록 : Node.js v16.14.2 Documentation Index | Node.js v16.19.0 Documentation nodejs.org ✔️ fs 모듈의 메서드 목록을 보면 readFile 메서드로 파일을 읽고, writeFile 메서드로 쓸 수 있다. 1️⃣ 모듈 불러오기 ➰ Node.js 에서는 JS 코드 최상단에 require 구문을 이용하여 다른 파일을 불러..
✔️ Blocking : 하나의 작업이 끝날 때까지 이어지는 작업을 막는 것 ✔️ 동기적 : 시작 시점과 완료 시점이 같은 상황 📌 non-blocking 하고 비동기적으로 작동하는 것이 효율적 📣 자바스크립트의 동기 & 비동기 ✔️ 동기 : 특정 코드의 실행이 완료될 때까지 기다리고 난 후 다음 코드를 수행하는 것 ✔️ 비동기 : 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드들을 수행하는 것 ✔️ JS의 작동원리 JS는 싱글 스레드 기반 언어(스레드가 하나라서 동시에 작업이 불가능하다 -> 동기적으로 작동한다) 자바스크립트 런타임에서 비동기 처리를 도와주기 때문에 특별한 작업 없이 비동기 처리를 할 수 있다. 📣 비동기 JS ✔️ 타이머 관련 API 1️⃣ setTimeout(callbac..
📌 JS는 프로토타입 기반의 언어이다. 📣 프로토타입 ✔️ 원형이라는 뜻 (객체의 원형, 즉 객체의 부모) ✔️ 객체는 프로퍼티를 가질 수 있는데, 프로토타입 이라는 프로퍼티는 객체가 생성될 때 프로토타입에 저장된 속성들이 그 객체에 연결된다. ✔️ 모든 객체는 프로토타입에 접근할 수 있다. 📣 프로토타입과 클래스 class Human { constructor(name, age) { this.name = name; this.age = age; } sleep() { console.log(`${this.name}은 잠에 들었습니다`); } } let kimcoding = new Human('김코딩', 30); // 실습해보세요 Human.prototype.constructor === Human; // tru..
📣 객체 지향 프로그래밍 절차적 언어 객체 지향 언어 초기의 프로그래밍 언어 C, 포트란 등 현대의 언어들 Java, C++, C# 등 - 순차적인 명령의 조합 (기껏해야 함수로 이동하는 것이 전부) - 클래스라고 부르는 데이터 모델의 청사진을 사용해 코드 작성 - 데이터와 기능을 한번에 묶어서 처리 가능 ✔️ JS 는 엄밀히 객체 지향 언어는 아니지만 객체 지향 패턴으로 작성할 수 있다. 📣 OOP : 프로그램 설계 철학 1️⃣ Encapsulation (캡슐화) ➰ 데이터(속성)와 기능(메서드)을 하나의 단위로 묶는 것 (하나의 객체 안에 넣어서 묶는 것) ➰ 은닉 : 구현은 숨기고, 동작은 노출시키는 것 ➰ 느슨한 결합 : 데이터와 기능들이 느슨하게 결합되는 것 코드 실행 순서에 따라 절차적으로 코..
📣 클로저 모듈 패턴 더보기 ✔️ 메서드 호출 : 객체.메서드() ✔️ 클로저를 이용해 매번 새로운 객체 생성하기 function makeCounter() { let value = 0; return { increase: function() { value++; }, decrease: function() { value--; }, getValue: function() { return value; } } } let counter1 = makeCounter() counter1.increase() counter1.getValue() // 1 let counter2 = makeCounter() counter2.decrease() counter2.decrease() counter2.getValue() // -2 ➰ 클..
📣 일급 객체 ✔️ JS에서 특별하게 취급되는 객체 ➰ 변수에 할당 할 수 있다. ➰ 다른 함수의 전달인자로 전달될 수 있다. ➰ 다른 함수의 결과로서 리턴될 수 있다. 📣 고차 함수 ✔️ 함수를 전달인자로 받을 수 있고, 함수를 리턴할 수 있는 함수 ➰ 다른 함수의 전달인자로 전달되는 함수 ➰ 콜백 함수를 전달 받은 고차 함수는 내부에서 콜백 함수를 호출 할 수 있고, 조건에 따라 실행 여부를 결정할 수도 있다. ➰ 함수를 리턴하는 함수 (따로 커링함수 라는 용어를 쓸 필요는 없다) ➰ 커링함수 ⊂ 고차 함수 📣 내장 고차 함수 1️⃣ 배열 메서드 filter(걸러내는 기준) 모든 배열의 요소 중에서 특정 조건을 만족하는 요소를 걸러내는 메서드 걸러내기 위한 조건을 명시한 함수를 전달인자로 받는다. 배..