중앙정보처리학원 - 수강일지
#중앙정보처리학원-59일차-
잘데친갈비
2023. 10. 25. 17:56
10/25
클라이언트와 서버는 json 형식의 데이터 타입을 주고 받고 있는데
클리이언트는 js obj타입의 데이터를 사용하고 서버는 java 타입의 데이터를 사용 하기 때문에
서로 json 타입으로 직렬화 시켜 전송후 프로그램 에 들어갈때 역직렬화 시켜 사용하게 된다.
# promis
promis는 우리가 사용하는 axios의 post, get, delete, put 과 같은것들을 사용하고 난후 리턴하는것을 promis 라고 한다
프로미스 메소드는 then catch finally
then() 메소드 이후에 계속 then 이나 catch, finally 도 사용 가능하다
- then -> 성공 했을때 실행 되는 메소드
- catch -> 실패 했을때 실행되는 메소드
- finally-> 항상 실행되는 메소드
Promis 는 성공 실패로 메소드가 동작하고,
성공, 실패 구분 -> 응답 코드로 구분 한다
200 번대는 성공
300 재응답
400 클라이언트 응답 에러
500 서버응답 에러
이때에 200번대 코드가 아니면 다 에러 (실패)로 던진다.
Promis 가 사용 하는 메소드의 사용 방법
axios가 실행이 완료된 후에
.then (funtion (response) {
const product = response.data;
console.log(product);
});
메소드 안에 함수를 넣어서 사용하고 값도 출력,전달 가능하다.
메소드 안에서 js obj로 parse(역직렬화)된 데이터를 response 라는 변수로 받아 안에서 활용하면 되는것 이다.
promis 메소드는
앞에서 리턴한 값을 받아서 사용 가능하다
.then (function () {
console.log('첫 함수');
return "abcd";
})
.then(function (param) {
console.log('두번째 함수');
console.log(param);
}) ;
이걸 출력 해보면
두번째 함수라는 글자를 출력후 첫번째 함수에서 리턴한것을 두번째 함수에서 받은것을 그대로 출력한것을 볼 수 있다.
# 화살표 함수
자바스크립트에서 함수를 정의하는 방법이 funtion 키워드를 사용 하는방법이 있지만 자바의 람다처럼
파라미터의 목록과 메서드의 목록만 작성하는 방법이 있다.
이걸 화살표함수라고 한다.
funtion fname (p1, p2) {
return 345;
}
이렇게 작성했던 함수를
(p1, p2) => {
return 345;
};
이렇게 줄일 수 있고
변수를 받아 사용하는 코드가 1개라면 중괄호도 생락가능하고
만약 그 1개의 코드가 return 이라면 return 까지도 생략하고 값만 넣어서
아래처럼 사용 가능하다.
(p1, p2) => 345;
# [ JS ]구조분해 할당 ( destructuring assignment )
let a = {
name : "son";
age : 30;
};
a 에 이런식으로 값을 할당 한 것에
let myName = a.name;
let myAge = a.age;
이렇게 분해 해서 재할당 하여
console.log(myName);
console.log(myAge);
사용할수 있게 해주는 것을 구조 분해 할당이라 한다.
let {name, age} = a;
이런식으로 순서대로 데이터를 받아 구조분해 할당 시킬수도 있다.
이때에 변수의 갯수를 안 맞춰주고 만든다면 ?
let {name} = a;
console.log(name); // son
으로 활용 할 수 있다
하지만 더 많이 만들게 되면 ??
let {name, age, address} = a
address 에 값이 안들어 있고 nullpointExecption에러를 내보낸다.