자바스크립트
-
Node js란 무엇일까? (다시 개념정리)Topic/Node.js | server 2022. 6. 13. 23:01
Node.js Node js란 "Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임"이다. Chrome V8? V8은 웹 브라우저를 만드는 데 기반을 제공하는 오픈 소스 자바스크립트 엔진! 구글 크롬 브라우저와 안드로이드 브라우저에 탑재되어 있다. C++로 만들어졌고 싱글 스레드를 제공! JavaScript Engine? 자바스크립트 엔진은 자바스크립트 코드를 실행하는 프로그램! 여러 목적으로 자바스크립트 엔진을 사용하지만 대체적으로 웹 브라우저에서 사용된다. ex) Google V8 엔진 JavaScript Runtime? 런타임이란 프로그래밍 언어가 구동되는 환경으로, 자바스크립트 런타임은 자바스크립트 엔진, Web API, 콜백 큐, 이벤트 루프, 렌더 큐로 구성된다. ..
-
객체 지향 프로그래밍(Object-Oriented Programming, OOP)Topic/JavaScript 2022. 6. 8. 21:25
객체 지향 프로그래밍 (Object-Oriented Programming: OOP) 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 속성(properties)과 메소드(method)를 하나의 "객체"(class)에 묶어서 청사진을 만들고, 그 청사진을 바탕으로 인스턴스 객체(instance object)를 만드는 것을 말합니다. OOP에서 말하는 객체는 자바스크립트에 내장 객체(object)와 다르며, 클래스(class)라고 부른다. OOP는 사람이 세계를 보고 이해하는 방법을 흉내낸 방법론 OOP는 사람이 세계를 보고 이해하는 방법과 매우 흡사하다. 클래스(class)와 오브젝트 인스턴스를 실생활과 연관지어 예를 ..
-
callback, promise, async/await의 특징과 차이점 간단 정리Topic/JavaScript 2022. 5. 21. 09:10
callback 함수의 매개 변수인 함수 비동기 처리 시 동기처리할 때 콜백패턴을 사용한다. 자유도가 높은 장점이 있으나 콜백지옥이 우려되니 조심! promise JavaScript가 동기 처리이기 때문에 비동기 처리를 위해 promise를 사용합니다. 에러핸들링할 때는 catch 로 에러 처리가 가능하다. promise 지옥이 발생할 수 있으니 적당히 써야함 async / await promise보다 비동기적인 상황 표현이 쉽다. 에러핸들링 기능이 없어서 try catch문을 활용해야한다. 비동기코드를 동기코드처럼 읽게 해주어서 가독성이 좋다.
-
진법 변환(feat. 프로그래머스)Topic/JavaScript 2022. 3. 7. 22:25
알고리즘 문제에서 간간히 나오는 진법 변환 😇 자바스크립트에서 지원하는 내용으로 진법 변환에 활용해보자 ! 진법 변환 10진법에서 n진법으로 변환하기 let number = 10; // 10진법 -> 2, 8, 16 진법으로 변환 value.toString(2); // 1010 value.toString(8); // 12 value.toString(16); // a n진법에서 10진법으로 변환하기 let A = 1010, B = 12, C = 'a'; // 2, 8, 16 진법 -> 10진법으로 변환 Number.parseInt(A , 2); // 10 Number.parseInt(B , 8); // 10 Number.parseInt(C , 16); // 10 알고리즘 문제에서 활용하기 - 3진법에서 뒤..
-
자료구조 알고리즘 문제 (다시 보기)algorithm 2022. 1. 11. 17:19
문제 1 피보나치 수열을 순차적으로 출력하는 클로저 형태의 함수를 작성하기. * 출력 : 호출될 때마다 다음 피보나치 수를 리턴하는 함수를 리턴해야 한다. * 주의 사항 : 피보나치 수는 0과 1로 시작하며, 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 됩니다. * 예시) 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... : 리턴되는 클로저 내부 함수(inner function)의 구현은 recursive 혹은 iterative한 방법 중 어떤 것이어도 괜찮습니다. * 입출력 예시 const fn = test1(); console.log(fn()); // --> 0 console.log(fn()); // --> 1 console.log(fn()); // -..
-
JSON 정리Topic/JavaScript 2021. 12. 22. 15:22
JSON JavaScript Object Notation 서버 통신의 시작점 Key - Value 세트로 이루어진 data object를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷 특히 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법 특징 간결한 데이터 교환 포맷 읽기 쉬운 심플한 텍스트 기반 구조 Key - Value 세트 네트워크끼리의 연결 간의 데이터 직렬화 및 전송에 사용 프로그래밍 언어나 플랫폼에 상관없이 JSON을 사용가능 Stringify(Obj) let json = JSON.stringify(true); console.log(json) //true; json = JSON.stringify(['lion','banana']); console.log(json..
-
비동기, 고차함수, 콜백,Topic/JavaScript 2021. 12. 20. 22:12
비동기 자바스크립트는 동기적인 친구이다. 코드 작성 순서대로 작동하기 때문 / 호이스팅: var, function 선언들이 제일 위로 올라가는 것 예시: setTimeout() -> 정해진 시간 후에 콜백함수를 부름 setTimeout(function() { // 1초 후에 2를 출력해줘 console.log('2'); }, 1000) 콜백은 무조건 비동기적인 것인가 ? No! Synchronous callback(동기적 실행) function printImmediately(print) { print(); } printImmediately(() => console.log('happy')); // Asynchronous callback 함수의 선언이니 제일 위로 호이스팅 된다! Asynchronous c..
-
클래스를 이용한 모듈화, Prototype, 생성자 함수Topic/JavaScript 2021. 12. 13. 21:08
정답을 맞추는게 답이 아니라 끝까지 도전하는 자세가 중요 ! 객체 지향 JavaScript 객체 지향 프로그래밍: OOP, Object-oriented programming 데이터와 기능을 한 곳에 묶어서 처리 / 속성과 메소드가 하나의 "객체" 라는 개념이며 클래스(Class)라고 부른다. 객체 지향이 트렌드지만, 객체 지향이 무조건 좋은건 아니다 ! 하나의 프로그래밍 방법론일뿐, 각 방법론의 장단점을 잘 알고, 상황에 맞는 방법론을 선택하는게 Best! ex) 메모리 관리가 중요하다면 ? -> 메모리를 적게 쓰는 절차지향 사람들과의 협업이 필요하면? -> 코드 이해가 쉬운 객체지향 자바스크립트는 객체지향 언어가 아니라 프로토타입 기반 언어이다! 자바스크립트의 클래스는 프로토타입을 이용해 구현하는 것!..