😅문제 회사 내부 api를 사용하는데, api 응답으로 200은 뜨지만 데이터가 제대로 오지 않는 문제가 있었다. 백엔드 코드까지 보진 못했지만 서버에서 로그인을 한 유저인지 확인이 되어야 응답 데이터를 잘 넘겨준다고 했다. 근데 난 로그인 기능을 다 구현했고, 로그인 잘 동작하는것도 확인했는데 뭐가 문제인지 알 수 없었다!! 그러다 문제의 원인을 알게되었다! 서버는 아이디와 비밀번호를 확인해서 유저 정보가 맞는지 확인하고 sessionID를 클라이언트에 보내줘 인증상태를 유지한다. 클라이언트는 sessionID를 저장하고 있다가 다음 요청 때 저장해둔 sessionID가 담겨있는 쿠키를 HTTP 헤더에 넣어서 함께 전송하는데, sessionID가 저장되지 않아 로그인이 된 건지 서버측에서 확인할 수 없..
Java Script
1. JS에서의 this는 현재 호출중인 메서드를 보유한 객체를 가리킴 (default) var obj = { result: 0 }; obj.add = function(x,y) { this.result = x+y; } obj.add(3,4) console.log(obj)// { result: 7 } 2. 그러나 아래 코드 처럼 호출될 때 add2() 메서드를 보유한 객체가 없으므로 Global (전역) 객체가 this가 됨. var obj = { result: 0 }; obj.add = function (x, y) { this.result = x + y; }; var add2 = obj.add; console.log(add2 === obj.add); //true add2(3, 4) // 전역 변수 res..
Java Script에서 큰 숫자를 사용할 때 BigInt를 사용하는데요. 왜 BigInt를 사용해서 계산하면 생각과는 다른 결과가 나오는 걸까요?!! 어떤 경우에 계산 결과가 다른건지! 그리고 해결 방법은 무엇인지 알아봅시다! BigInt 정의(MDN 공식 문서) **BigInt**는 Number 원시 값이 안정적으로 나타낼 수 있는 최대치인 2^53 - 1보다 큰 정수를 표현할 수 있는 내장 객체입니다. BigInt는 정수 리터럴의 뒤에 n을 붙이거나(10n) 함수 BigInt()를 호출해 생성할 수 있습니다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/BigInt MDN 공식 문서에 표기되어 있는 것 처..
자바스크립트의 String 메서드를 알아보자!! 코딩 테스트 볼 때 중요한 것 같아서 공부하고 정리해본다! 누군가에게도 도움이 되길! 🙏 1. slice(시작인덱스, 종료인덱스) : 시작인덱스부터 종료인덱스-1까지 반환 * slice의 시작 인덱스 값 > 종료 인덱스 값 이면 작동하지 않는 것에 주의하자! 2. substring(시작인덱스, 종료인덱스) : 시작인덱스부터 종료인덱스-1까지 반환 * slice와 달리 substring은 시작 인덱스 값 > 종료 인덱스 값 이여도 작동한다! 3. substr(시작위치, 길이) : 시작인덱스부터 길이만큼 반환 * substr()은 명세에서 사라질 수 있기 때문에 slice, substring 사용을 권장한다고 한다! 4. replace(바꿀문자열, 바뀔문자열)..