코드스테이츠 38일차!
리액트도 참 어려웠지만 서버는 진짜 너무 헷갈린다
익숙하지 않아서 그런 거겠지만 눈에 바로바로 보이지 않는 점이 좀 고단하다
포스트맨을 적극 활용하자!
포스트맨 사용법도 더 공부해보자...주눅들지 말자,,,,
Statesairline Server과제에서 잘 모르겠던 점
구조분해할당 하는 방법(배열은 익숙한데, 객체부분이 익숙하지 않다)
req, res의 의미(앞 글에서 어느정도 정리했다)
req.params / req.query / req.body 차이
req.params
→ 라우터의 매개변수
ex) /:id/:name 경로가 있으면 ":id"속성과 ":name" 속성 -> req.params.id, req.params.name 으로 사용 가능
=> www.example.com/post/1/jun일 경우 1과 jun을 받는다
req.query
→ 경로의 각 쿼리 문자열 매개 변수에 대한 속성이 포함 된 개체다. (주로 GET 요청에 대한 처리)
ex) www.example.com/post/1/jun?title=hello!이면, title=hello! 부분을 객체로 매개변수의 값을 가져온다
req.body
→ JSON 등의 바디 데이터를 담을 때 사용
→ 주로 POST로 유저의 정보 또는 파일 업로드(formdata)를 보냈을 때 사용
→ 요청 본문에 제출된 키-값 데이터 쌍을 포함
참조
구조분해할당
배열이나 객체 속성을 분해하여 그 값을 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식
// 기본 할당
var o = {p: 42, q: true};
var {p, q} = o;
console.log(p); // 42
console.log(q); // true
// 선언 없는 할당
var a, b;
({ a, b } = { a: 10, b: 20 });
console.log(a); // 10
console.log(b); // 20
참고: 할당 문을 둘러싼 ( .. )는 선언 없이 객체 리터럴(object literal) 비구조화 할당을 사용할 때 필요한 구문입니다.
{a, b} = {a:1, b:2}는 유효한 독립 구문이 아닙니다. 좌변의 {a, b}이 객체 리터럴이 아닌 블록으로 간주되기 때문입니다.
하지만, ({a, b} = {a:1, b:2})는 유효한데, var {a, b} = {a:1, b:2}와 같습니다.
( .. ) 표현식 앞에는 세미콜론이 있어야 합니다. 그렇지 않을 경우 이전 줄과 연결되어 함수를 실행하는데 이용될 수 있습니다.
// 새로운 변수 이름으로 할당하기
var o = {p: 42, q: true};
var {p: foo, q: bar} = o;
console.log(foo); // 42
console.log(bar); // true
({a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40});
console.log(a); // 10
console.log(b); // 20
console.log(rest); // {c: 30, d: 40}
// 기본값
var {a = 10, b = 5} = {a: 3};
console.log(a); // 3
console.log(b); // 5
// 기본값 갖는 새로운 이름의 변수에 할당하기
var {a: aa = 10, b: bb = 5} = {a: 3};
console.log(aa); // 3
console.log(bb); // 5
'CodeStates > Backend' 카테고리의 다른 글
Section3 / Unit7 : [Backend]OAuth (0) | 2023.07.04 |
---|---|
Section3 / Unit7 : [Backend]Hashing/Token (0) | 2023.07.03 |
Section3 / Unit7 : [Backend]쿠키/세션 (0) | 2023.07.03 |
Section2 / Unit10 : Web Server (express) (0) | 2023.06.02 |
Section2 / Unit10 : Web server(SOP, CORS) (0) | 2023.06.01 |