본문 바로가기

데브코스

자바스크립트 문법 (+ 리팩토링, 상태 코드)

자바스크립트  foreach

:  for + each => 향상된 / 개선된 for문

: 객체 (또는 배열)에서 요소를 하나 꺼낸 다음 매개변수로 그 요소를 전달하여 호출되는 콜백함수

: 첫 번째 매개변수로는 데이터, 두 번째 매개변수로는 인덱스, 세 번째 배개변수로는 객체 통째로 들어온다. 

 

1️⃣ 매개변수가 1개일 때 

const arr = [1,2,3,4,5]
arr.forEach( function(a){
  console.log(a)
})

 

2️⃣ 매개변수가 2개일 때

const arr = [1,2,3,4,5]
arr.forEach( function(a,b){
  console.log(`a : ${a} , b : ${b}`)
})

 

3️⃣ 매개변수가 3개일 때 

const arr = [1,2,3,4,5]
arr.forEach( function(a,b,c){
  console.log(`a : ${a} , b : ${b}, c: ${c}`)
})

 

map 함수(메서드) vs foreach 차이

const arr = [1,2,3,4,5]
// foreach문 사용
const foreachArr = arr.forEach( function(a,b,c){
  return a * 2
})

// map 사용
const mapArr = arr.map( function(a,b,c){
  return a * 2
})

console.log(`foreach로 return 하면 ${foreachArr} ,
map으로 return 하면 ${mapArr}`)

 

➡️ 이와 같은 결과를 확인할 수 있다. foreach 문은 return을 통해서 새로운 배열 생성이 불가하지만, map은 return 을 통해서 새로운 배열 생성이 가능하다. 

 

리팩토링이란? 

: 소프트웨어의 코드 내부(구조) 를 변경하는 것

1) 이해하기 쉽게

2) 성능

3) 안정성

 

왜 ? 

나쁜 코드 => 클린 코드

 

언제 ? 

1. 에러(문제점)이 n회 발견됐을 때, 리팩토링을 해야한다. 

2. 리팩토링을 하면서 에러(문제점)을 발견할 수 있다. 

3. 기능을 추가하기 전

4. 코드리뷰 할 때 

⚠️배포, 운영 직전에는 절대로 코드 수정이 일어나서는 안된다!!

 

HTTP 상태 코드

HTTP (인터넷 상에서 통신할 때 사용하는 규약) 안에 작성되어서 들어가는 "상태"

  • 2** : 성공

1. 조회 / 수정 / 삭제 성공: 200

2. 등록 성공: 201

  • 4** : 클라이언트 잘못

1. 찾는 페이지 없음 (URL 에 맞는 api 없음) : 404

2. 요청한 연산(처리)을 할 때 필요한 데이터(req) 가 덜 왔을 때: 400

  • 5**: 서버 잘못

1.  서버가 죽었을 때, 서버가 크리티컬한 오류를 맞았을 때 : 500

 

클라이언트(사용자,화면) 와 소통을 정확하게 하기 위함

 

'데브코스' 카테고리의 다른 글

예외 처리  (2) 2024.09.07
youtuber-demo ( 전체 조회, 삭제, 수정)  (5) 2024.09.06
POST method  (0) 2024.09.04
백엔드(6)-express(3)  (0) 2024.09.03
백엔드(5) - express(2)  (0) 2024.09.02