Typescript, Nodejs tips

JavaScript(ES6)와 TypeScript

ES6 특징


var const let
* 선언과 초기화가 동시에 진행, 암묵적으로 undefined 할당해서 초기화 * 재선언, 재할당 불가능(원시값 불가능, 객체 가능) * 변수 중복 선언이 불가하지만 재할당은 가능
  * 선언과 초기화를 동시에 진행 * 선언 단계와 초기화 단계가 분리되어 진행(스코프 시작~초기화 시작 전까지 변수 참조할 수 없음)

참고:

var, let, const의 차이 ⏤ 변수 선언 및 할당, 호이스팅, 스코프

[JavaSript] ES6란? ES7과 차이점?




Moment.js Library

사용

npm install moment
//ES6
import * as moment from 'moment';
import moment from 'moment';
moment().format();
//TypeScript
import moment = require('moment');
let now = moment().format('YYYY-MM-DD');

주요 메서드

const now = moment();
const nowFormat = moment().format('YYYY-MM-DD');
moment().add(7, 'days').format()
moment().add({days:7, month:1}).format()

const a = moment([2022, 6, 5]);
const b = moment([2022, 5, 5]);
const diffDays = a.diff(b, 'days');
const diffMonths = a.diff(b, 'months');




Moment-timezone.js Library

사용

npm install moment-timezone
import moment from "moment-timezone";
moment().tz("Asia/Seoul").format("YYYY-MM-DD");
moment().tz("Asia/Seoul").utc().format("YYYY-MM-DD"); // UTC 시간 출력




node-schedule

사용

npm install node-schedule
import schedule = require('node-schedule')
//import * as schedule from 'node-schedule'

const rule = new schedule.RecurrenceRule();
rule.tz = 'Asia/Seoul'
rule.dayOfWeek = [0, new schedule.Range(0, 6)]; //0: SUN ~ 6: SAT
rule.dayOfWeek = [0, new schedule.Range(1, 5)]; //MON-FRI
rule.hour = 12
rule.minute = 0

//스케쥴러 실행 시
nodeschedule.scheduleJob(rule, function(){
  // 수행할 작업
});

Recurrence Rule(재귀식 규칙 설정)




패키지 매니저

npm

yarn

명령어

npm yarn 설명
npm init yarn init 시작 및 초기화
npm install yarn or yarn install package.json
npm install --save [package name] yarn add [package name] 의존성 추가
npm install --global [package name] yarn global add [package name] 전역으로 추가
npm start yarn start 실행
npm uninstall --save [package name] yarn remove [package name] 패키지 삭제
npm cache clean yarn cache clean 캐시 삭제

참고

npm & yarn 명령어




패키지 잠금 파일

참고

패키지 잠금 파일 (package-lock.json, yarn.lock)