빈 객체 확인하는 방법
- Object.keys()
- for in
- lodash : isEmpty
const obj1 = {}
const obj2 = {message: "안 빔"}
const num =1
const str1 = "one"
const str2 = "" //문자열도 객체이다
console.log(Object.keys(obj1).length === 0)
console.log(Object.keys(obj2).length === 0)
console.log(Object.keys(num).length === 0)
console.log(Object.keys(str1).length === 0)
console.log(Object.keys(str2).length === 0)
// true
// false
// true
// false
// true
obj의 길이가 0이면 빈 객체인지 알수 있고, 문자열도 사실은 객체이므로 같은 방식으로 확인할 수 있다. 하지만 숫자는 제대로 작동하지 않는다.
function isEmpty(obj){
if(Object.keys(obj).length === 0){
return true;
}
else{
return false;
}
}
console.log(isEmpty(str1))
이와 같이 함수로 만들어서 사용할 수도 있다.
로그인
//로그인
app.post('/login', function(req, res){
console.log(req.body)
// userId가 디에 저장된 회원인지 확인해야
const {userId, password} = req.body
let loginUser = {}
db.forEach(function(user, id) {
if (user.userId === userId){
loginUser = user
}
})
//id 값을 못 찾았으면
if(isExist(loginUser)) {
console.log("같은거 발견")
//pwd 도 맞는지 비교
if(loginUser.password === password) {
console.log("패스워드도 같다!")
}
else {
console.log("패스워드 틀렸다!")
}
}
else{
console.log("입력하신 아이디는 없는 아이디 입니다.")
}
})
// 객체가 비었는지 여부 확인하는 함수
function isExist(obj){
if(Object.keys(obj).length){
return true;
}
else{
return false;
}
}
req.body 에서 객체 비구조화를 이용하 userId 와 password를 거낸다. forEach 문으로 아이디가 존재하는지 확인하고 존재하면 loginUser 변수에 넣는다. 객체가 비지 않았으면 패스워드도 확인하는 절차로 들어가고, 객체가 비었으면 없는 아이디로 판단한다.
채널 API 설계
채널 생성 : POST /channels
- req: body (channelTitle)
- res 201:
${channelTitle}님 채널을 응원합니다.
채널 개별 수정: PUT /channels/:id
- req: URL(id), body (channelTitle)
- res 200:
채널명이 성공적으로 수정되었습니다. 기존 ${} -> 수정 : ${}
채널 개별 삭제: DELETE /channels/:id
- req: URL(id)
- res 200:
삭제되었습니다
채널 전체 조회: GET /channels
- req: X
- res 200: 채널 전체 데이터
채널 개별 조회: GET /channels/:id
- req: URL(id)
- res 200: 채널 개별 데이터
후기
이전에 해봤던 것과 비슷한 내용을 연습삼아 해보는 시간이었던것 같다. 빈 객체를 확인하는 방법들과 로그인의 로직에 대해서도 알아보았다.
키워드: 프로그래머스 데브코스, 국비지원교육, 코딩부트캠프
'프로그래머스 풀스택 데브코스 > 데브코스 TIL' 카테고리의 다른 글
웹 풀사이클 데브코스 TIL 22일차 (0) | 2023.12.18 |
---|---|
웹 풀사이클 데브코스 TIL 21일차 (0) | 2023.12.16 |
웹 풀사이클 데브코스 TIL 19일차 (0) | 2023.12.13 |
웹 풀사이클 데브코스 TIL 18일차 (0) | 2023.12.12 |
웹 풀사이클 데브코스 TIL 17일차 (0) | 2023.12.11 |