[js] 코드 최적화 - falsy값, 삼항 연산자, fallback값(nullish값 체크)
falsy값 체크, 삼항 연산자, fallback값(nullish값 체크)의 코드 최적화 방법 (클린코드) 1. falsy값 체크 타입스크립트가 아니라 자바스크립트를 사용한다면 꼭 해야하는게 타입 체크이다. 특히, null ,undefined ,0 ,false ,NaN , "" 값을 체크해서 점검해야 할 때가 있다. 논리 부정연산자인 "!" 를 이용하면 쉽게 쓸 수 있다. const isFalsy = (value) => { if ( value === null || value === undefined || value === 0 || value === false || value === NaN || value === "" ) { return true; } return false; }; // 위 코드를 아래와 ..
2023. 3. 12.
[MongoDB] 배열의 여러가지 Query 종류
배열의 여러가지 Query 종류 ( 배열과 일치, 요소에 대한 쿼리, 배열 요소에 대한 복합 필터 조건으로 쿼리, 여러 기준을 충족하는 배열 요소에 대한 쿼리, 인덱스 위치로 요소 쿼리, 배열 길이로 쿼리 ) * MongoDB Shell에서 진행 아래와 같은 문서 내용을 삽입해준다. db.inventory.insertMany([ { _id: 1, item: "A", price: 25, colors: ["blank", "red"], diff: [ 14, 21 ] }, { _id: 2, item: "B", price: 50, colors: ["red", "blank"], diff: [ 14, 21 ] }, { _id: 3, item: "C", price: 100, colors: ["red", "blank",..
2023. 3. 10.
[MongoDB] 내장/중첩 문서에 대한 검색(쿼리)
[MongoDB] 객체 안에 객체가 있는 문서 즉, 내장/중첩 문서에 대한 쿼리(검색) * MongoDB Shell에서 진행 아래와 같은 문서 내용을 삽입해준다. db.user.insertMany([ { _id: 1, info: { role: "Magician", level: 15 }, name: "user1", skills: [ "A", "B", "C" ] }, { _id: 2, info: { role: "Warrior", level: 20 }, name: "user11", skills: [ "B" ] }, { _id: 3, info: { role: "Magician", level: 25 }, name: "user111", skills: [ "A", "B" ] }, { _id: 4, info: { ro..
2023. 3. 9.
[MongoDB] 값 일치, 값 포함 여부로 검색 ($eq, $regex)
[MongoDB] $eq, $regex를 이용한 값(문서, 배열)일치, 값 포함 여부(정규식) 검색 $eq 비교 쿼리 연산자(Comparison Query Operators) 중 하나로 지정된 값과 같은 값을 찾는다. $regex 평가 쿼리 연산자 중 하나로 값이 지정된 정규식과 일치하는 문서를 선택한다. * MongoDB Shell에서 진행 아래와 같은 문서 내용을 삽입해준다. db.user.insertMany([ { _id: 1, info: { name: "user1", role: "Magician" }, level: 15, skills: [ "A", "B", "C" ] }, { _id: 2, info: { name: "user11", role: "Warrior" }, level: 20, skills..
2023. 3. 9.