FrontEnd/Javascript 17

[javascript] 배열 내 특정 객체 값 제거하는 방법(splice 이용하기)

javascript 내에서 배열을 조작해야 되는 것 중 내가 원하는 값을 지우고 싶을 때가 있다. 이때 이용하는 것이 바로 splice() ✂ Array.splice() 배열 뒤 splice를 이용하면 기존 요소를 삭제하거나 교체하는 것이 가능하다. array.splice(시작 index, 제거 index, 추가 요소) 시작 index 배열 변경을 시작할 index 번호를 입력한다. 제거 index 0을 입력하면 어떤 요소도 제거되지 않으며, 특정수를 입력하면 start 이후부터 해당 수만큼 요소가 제거된다. 추가 요소 배열에 새로 추가될 요소가 들어간다. 만약 입력이 없다면 제거만 되고 새로운 요소는 추가되지 않는다. 샘플 코드 let obj = [ {id:1, name:'apple'}, {id:2, ..

FrontEnd/Javascript 2022.07.20

[javascript] 빈객체 if문으로 확인하는 방법 ({} check / Object.keys 주의사항)

자바스크립트에서 default 객체를 선언하는 방법은 아래와 같다. const obj = {}; 이후 로직에서 obj 객체에 key,value가 세팅이 되었는지 아닌지 체크하는 방법이 필요해서 찾아보게되었다. 🧡Object.keys 이용하기 Object.keys()를 이용하면 주어진 객체의 key 이름을 배열로 반환한다. Object.keys(obj) //빈객체일 경우 [], key가 있는경우 [id,name] 해당 기능을 이용해서 if문처리가 가능하다. 예시코드 let obj = {} obj ={ id:1, name:one } if(Object.keys(obj).length !== 0) { alert("빈객체아님!") } 위 예시로 빈객체인지 아닌지 확인이 가능하다! ✅사용시 주의사항 만약 obj객체에..

FrontEnd/Javascript 2022.07.19

[vue.js] input 에서 이미지 업로드 벨리데이션 처리

프로젝트를 진행하다 보면 이미지를 업로드해서 프로필 사진을 적용한다던지 하는 기능을 만들 경우가 있다. 오늘은 input 으로 받은 이미지를 밸리데이션으로 체크하는 샘플 코드를 작성해보았다. ⚠️이미지 업로드 시 주의 사항 동일한 파일이 업로드 되었을 때 어떤 식으로 처리할 것인지 파일 용량이 큰 파일 업로드를 허용할지 아닐지 이미지 업로드 시 확장자는 어디까지 받을 것인지 이러한 부분을 고려를 해서 개발을 해야 한다. ✨이미지 파일 업로드받기 이미지 파일을 업로드받으려면 input type을 file로 변경하면 윈도 파일 브라우저가 뜨는 input 박스가 생성된다. input accept 처리하기 만약 파일 처리에서 accept 속성을 넣으면 여기서 적용시킨 형태의 파일만 파일 브라우저에서 뜨게 된다...

FrontEnd/Javascript 2022.07.12

[JavaScript] 웹에서 Push 알람 발생하기 (Web Notification/alert)

🙋‍♀️JavaScript alert 이용하기 자바스크립트에서 알람을 발생하는 것 중에 가장 많이 사용하는 것이 바로 alert이다. alert으로 알람을 발생시키면 해당 웹에 들어가면 바로 알람을 확인할 수 있다. 하지만 alert의 문제의 경우는 해당 탭에 포커싱이 되어있을 때는 잘 볼 수 있지만 해당 탭에 포커싱이 안되어있을 경우 해당 알람창이 뜨는지를 알 수가 없다. 🤔HTML5 Web Notification API HTML에서는 웹페이지에서 알람을 표시하면 페이지 외부에서 표시가 되는 Notification API를 제공한다. 해당 웹페이지가 백그라운드로 돌고 있어도 내가 쓰는기기에서 알람을 볼 수 있는 기능이다. 📝Web Notification 사용 조건 해당 기능을 이용하려면 하지만 조건이 ..

FrontEnd/Javascript 2022.06.01

Javascript URL 리다이렉트 시키기 (vue.js router push)

Vue $router.push 오류가 나서 수정 방법을 찾다가 못 찾아서 일단은 Javascript로 Redirect 하는 소스로 변경해놨는데 오늘은 Javascript redirect와 Vue 에서 redirect를 하는 방법 정리하기로! 🧐Vue.js에서 page redirect 하는 방법 this.$router.push('/') Vue.js 에서 page를 이동하는 방법은 this.$router.push('경로')를 이용한다. 문제는 해당코드가 모바일에서 해당 코드가 작동하지 않는 이슈가 발생했다. 이것저것 코드를 바꾸다가 못 찾아서 :( 일단 Javascript 코드로 변경하기로 했다. 🐳Javascript에서 Page redirect 하는 방법 window.location.href = `${wi..

FrontEnd/Javascript 2022.05.11

[자바스크립트] 세미콜론(;)을 꼭 안찍어도되는 ASI 알아보기

✔️자바스크립트의 세미콜론(;) 자바스크립트에서는 세미콜론을 찍어주는 이유는 내가 쓰는 구문이 종료가 되었다 라는 의미이다. 프로그래밍 문법에 맞게 작성한 코드를 적고 해당 코드가 완료되면 그 뒤에 종료가 되었다는 의미로 세미콜론을 찍어준다. let a = 1; console.log(a); 하지만, 개발을 하다 보면 세미콜론을 정확히 찍을 때도 있지만, 개발을 하다보면 세미콜론을 까먹고 안 찍는 경우도 있다. 하지만 보통 세미콜론을 안찍어도 오류가 난적이 없다! 그런데도 꼭 세미콜론을 찍어야하는건가? 하지만 오류가 안나는 이유는 바로 ASI 때문이다! 🎇ASI(Automatic Semicolon Inserion, 자동 세미콜론 삽입) ASI는 자바스크립트 엔진에서 자동으로 ASI를 찍어주는 기능이 있기 ..

FrontEnd/Javascript 2022.04.11

[Javascript] Math 객체를 이용해서 랜덤 값 만들기(Math.random)

🤔Math 객체란? Math객체는 자바스크립트에 내장되어 있는 객체이다. 주로 숫자를 다루는 수학에 관련된 함수들이 들어가 있다. 그중 오늘은 내가 자주 사용하는 Math.random()에 대해 공부하겠다. 📈Math Random 함수를 사용할 때 대시보드나 그래프를 그려줄 때 가끔 데모 사이트를 만들 때 랜덤 값들이 필요한 경우가 있다. 이럴 때 나는 주로 Math.random()을 이용해서 특정 범위의 랜덤 값을 만들어서 연동한다. 📕Math Random 이용하기 실행화면 실행을 해보면 알겠지만 0 이상 1 미만이 난수를 발생해준다. 1️⃣최소 최대값 사이의 난수 생성하기 0,1 사이 난수가 아니라 가끔은 내가 원하는 정수의 난수가 필요할 때도 있다. 이때는 min과 max 값을 설정해서 아래와 같이..

FrontEnd/Javascript 2022.03.14

[javaScript]JSON 과 javascript의 Object 차이 바로 알기

javascript를 작성하다 보면 JSON과 javascript에서 Object가 매우 흡사한 형태를 가지고 있다는 사실을 알 수 있다. 형태가 비슷하기 때문에 똑같아고 생각하는 분들도 있을 테지만 엄연하게 두개는 다르다. 그럼 오늘은 JSON과 javascript의 Object의 차이를 알아보겠다. 📄JSON이란? JSON은 Javascript Object Notation의 약자로 서버와 데이터를 교환할 때 사용하는 Data 형태이다. JSON은 단순히 데이터를 표시하는 포맷일 뿐이고 프로그래밍 문법은 아니다. JSON은 서버와 클라이언트 데이터를 주고받을 때 현재 많이 사용되는 데이터 표시방식이며, 자바스크립트의 Object와 굉장히 비슷하게 작성이 되지만 이는 단순한 텍스트일 뿐이다. JSON형태..

FrontEnd/Javascript 2022.03.07

[정규식에러/크로스브라우징] 모바일(IOS) 크롬, 사파리 에서 페이지 안뜰 때 (PC 정상 작동)

IOS 크롬 에러 발생 (PC는 정상 작동할 때) 전에 블로그 포스팅 중 천의 자리 콤마를 찍는 자바스크립트 정규식을 공유했었다. https://ordinary-code.tistory.com/128 [nuxt/vue filter] 숫자 3자리(천자리) 마다 콤마 찍으면서 소수점 처리하기 자바스크립트에서 천 자리마다 콤마를 찍어줘야 하는 경우가 많다. 숫자에다가 천 자리마다 콤마를 찍기 위해서는 정규식을 이용해야 한다. Vue에서는 Filter를 이용해서 숫자 3 자리 마자 콤마를 ordinary-code.tistory.com 최근에 서비스 배포 후 모바일에서 페이지가 정상적으로 작동하지 않는다는 내용이 접수되어 처음에 vue router 문제인지, 아니면 redirect문제인지 여러 방면으로 삽질을 했었..

FrontEnd/Javascript 2021.12.29

[Javascript] 자바스크립트 표현식 비구조화할당(Destructuring assignment) 이해하기

ES6에서 등장한 자바스크립트 비구조화 할당이 추가되었다. 오늘은 배열과 객체에서 중복을 없애주고 좀 더 간편하게 값을 이용할 수 있는 비구조화할당에 대해서 알아보겠다. 🔗비구조화 할당이란? 배열이나 객체 속성을 해체하여 개별 변수에 값을 담을 수 있는 JavaScript 표현식을 말합니다. 또는 구조 분해 할당이라고 명칭 합니다. 기본 문법 비구조화 할당의 기본 구조는 좌측에는 변수, 우측에는 해당 변수에 넣어지는 값을 표현합니다. 배열의 경우 []를 사용하고, 객체의 경우 {}를 사용한다. 아래처럼 선언하면 결과는 동일하게 나오게 된다. let [x,y] = [1,2]; console.log(x); console.log(y); let {x,y} = {x: 1, y:2}; console.log(x); ..

FrontEnd/Javascript 2021.09.12