반응형

Today I Learn/JavaScript 4

[JavaScript] 조건에 따라 날짜 형식 다르게 주기

게시글 작성 24시간마다 날짜 형식 다르게 주기 게시판을 만들던 중 작성일을 넣어주어야 하는데 오늘 올린 게시글은 HH:mm 형식으로, 하루가 지난 게시글은 YYYY-MM-DD 형식으로 만들어져야 했다. 그런데 받은 코드를 살펴보니 24시간 기준으로 하루가 지난 게시글로 판단되어 전날 17:34에 올린 게시글이 오늘 오전에 봤을 때, 오늘 올린 게시글처럼 보이는 현상이 있었다 수정 전 코드 get createdAtFmt() { const timeValue = new Date(this.createdTs); const betweenTime = Math.floor( (new Date().getTime() - timeValue.getTime()) / 1000 / 60 ); const betweenTimeHour..

[JavaScript] Callback Hell과 Promise

콜백지옥의 문제점 가독성이 떨어짐, 비즈니스 로직을 이해하기 어려움 에러가 발생하거나 디버깅이 필요할 때, 유지보수하기 어려움 콜백지옥 예시 // Callback Hell example class UserStorage { loginUser(id, password, onSuccess, onError) { setTimeout(() => { if( (id === 'abc' && password === '12345') ) { onSuccess(id); } else { onError(new Error('정보를 찾을 수 없습니다')); } }, 2000); } getRoles(user, onSuccess, onError) { setTimeout(() => { if(user === 'abc') { onSuccess(..

[JavaScript] Promise의 의미와 Promise 사용법

promise '약속'이라는 단어로 자바스크립트에서 제공하는 비동기를 간편하게 처리할 수 있도록 도와주는 object 정해진 장시간의 기능을 수행하고 나서 정상적으로 기능이 수행된다면 처리된 결과값을 전달하고, 기능을 수행하다가 문제가 발생한다면 에러를 전달해 줌 1. State(상태) : 프로세스가 무거운 기능을 수행하고 있는 중인지, 기능 수행이 완료되어 성공했는지 실패했는지 상태에 대한 이해 pending -> fulfilled or rejected 2. Producer vs Consumer : 우리가 원하는 데이터를 제공하는 사항과 제공된 데이터를 사용하는 것의 차이 새로운 프로미스가 만들어 질 때 executor 라는 함수가 바로 실행이 됨!! ex) 사용자가 요청하기 전에 바로 네트워크가 실행..

[JavaScript] 자바스크립트의 기본 입출력

출력 console.log 입력 자바스크립트(Node.js)에는 Java의 Scanner와 같은 입력시스템이 없기 때문에 다음과 같은 방법을 사용하여 입력을 받는다. fs모듈로 stdin을 로드 const input = require('fs').readFileSync('/dev/stdin').toString().split(''); console.log(Number(input[0]) + Number(input[1])); // input : 1 2 // output : 3 readline 모듈 사용 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdo..

반응형