본문 바로가기

Programming/JAVASCRIPT

(5)
Device 체크 자바스크립트 if (navigator.userAgent.match(/Mobile|iP(hone|od)|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/)) { //스마트폰일 때 실행 될 스크립트 //alert("1"); } if (navigator.userAgent.match(/Android|Mobile|iP(hone|od|ad)|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolph..
Axios 요청 관련 삽질(auth) import axios from 'axios'; export default axios.create({ baseURL: 'http://localhost:3000', headers: { 'Content-Type': 'application/json' }, // auth가 header 오브젝트 위에 위치해야 정상동작함 auth: { username: 'username', password: 'password' }, proxyHeaders: false, credentials: false }); axios 기본 config 세팅시 auth가 header보다 뒤에 위치해 있으면 400 에러가 발생한다. 의도는 먼저 인증을하고 헤더 값을 실어서 요청을 보내야 정상 동작이 된다는건 알겠지만, 일반적으로 config 순서 ..
자바스크립트 forEach 루프에 대해 몰랐던 3 가지 1. return은 loop를 stop하지 않는다. 아래 코드가 루프를 돈 다음 1,2까지만 돌고 중지한다고 생각하십니까? array = [1, 2, 3, 4]; array.forEach(function (element) { console.log(element); if (element === 2) return; }); // Output: 1 2 3 4 아니요, 그렇지 않습니다. 당신이 자바 배경에서 온다면, 아마도 그것이 어떻게 가능한지 스스로에게 물어볼 것입니다. 그 이유는 forEach 함수에서 콜백 함수를 전달하기 때문입니다. forEach 함수는 일반 함수처럼 작동하며 하나의 요소에서 반환하더라도 요소가 2 인 경우 각 요소에 적용됩니다.\ From the official MDN docs Ther..
자바스크립트 구조분해할당(Destructuring) 개념과 팁 MDN Web Docs https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 정의: 구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다. 기본적인 Destructuring의 사용법은 위 MDN 링크에서 참고하세요. 이 글을 쓴 목적은 실무에서 코드 개선 및 이슈가 발생했을 때, 대처했던 내용을 토대로 개인적인 팁을 공유하기위해 작성했습니다. 서버에서 응답받은 response 예시다. const response = { notifications: { follow: true, alerts: true, unfollo..
자바스크립트 커링패턴(Currying Pattern) 커링패턴은 함수를 작성 시, 인자 전체를 넘겨서 바로 호출할수 있지만 일부 인자는 처음에 먼저 입력해두고 나머지만 입력할 수 있도록 새로운 함수를 만드는 패턴을 말한다. ES6 const sum = x => y => x + y; console.log(sum(2)(1)); // returns the number 3 console.log(sum(2)); // returns a function y => 2 + y ES5 "use strict"; var sum = function sum(x) { return function (y) { return x + y; }; }; console.log(sum(2)(1)); // returns the number 3 console.log(sum(2)); // returns ..