JS (Java Script) 80

JS Object.assign(target, sources) _ 얕은 복사, obj병합

🚗 Object.assign(Target, Sources) target 에 sources를 병합해서 target을 리턴한다. 동일한 key를 가진다면 Sources의 값으로 덮어쓴다. 여러 객체들을 병합 할 수 있다. 열거 가능한 자체 속성만 목표 객체로 복사해서 할당한다. 얕은 복사가 가능하다. 얕은 복사의 예시 let obj1 = {a:0, b:{c: 0}} let obj2 = Object.assign({}, obj1) obj1.a = 2 obj2.b.c = 10; console.log(obj1) //{a:2, b:{c:10}} console.log(obj2) //{a:0, b:{c:10}} 참고한 링크 https://developer.mozilla.org/ko/docs/Web/JavaScript/R..

JS (Java Script) 2023.10.23

파이어베이스, 자바스크립트 삭제기능 (feat. 문서 고유 id 값 가져오기)

파이어 베이스에 저장한 데이터를 삭제하려면 어떻게 해야할까? 내가 원했던 기능은 현재 보고있는 게시글을 삭제버튼을 누르면 👉 해당 데이터가 삭제 된 후 👉 list 페이지로 넘어가는 거였다. 1. 가져온 데이터를 반복문을 통해 하나하나 가져와서, 원하는 값을 가져온다. //데이터 가져오기 let docs = await getDocs(collection(db, "board")); let query = window.location.search.substr(11); //가져온 데이터 반복문으로 하나하나 빼보기 docs.forEach((eachDoc) => { let id = eachDoc.id let which; let num = row["num"]; if (num === query) { which = id;..

JS (Java Script) 2023.10.06

git 에러 __ error: src refspec eunji does not match any

깃 에러 해결을 연습하다가 다른 에러를 만낫다. error: src refspec eunji does not match any git의 브렌치를 못찾아서 에러가 나오는 것 같았다. 내가 알고있던 방법을 우선 시도해 봤다. git checkout "이동할_브렌치" 그리고 git branch 명령어로 확인해 본 결과 여전히 브렌치는 바뀌지 않았다. 검색을 해 보니, git switch 라는 명령어가 생겼다고 한다. 몇년전 추가된 명령어로 switch 로 브렌치를 바꿀 수 있게 만들어 준다. checkout 은 브렌치를 바꿔주고, working tree 파일을 restore 까지 해주는데, switch 는 브렌치를 바꿔주는 기능만 있다. git switch '브렌치명' 이렇게 시도해 보니 브렌치 명을 변경 ..

JS (Java Script) 2023.09.29

git 에러 __ Need to specify how to reconcile divergent branches.

상황 git에서 main 브렌치에 있던 것들을 pull한 뒤에, 작업을 하다가 다른 브렌치에 최신으로 업로드 된 내용을 확인 하기 위해서 같은 레포의 다른 브렌치를 pull 했다. 그랬더니 이런 메세지가 출력되었다. (그런데 단순히 git 에서 main을 pull 받아온 상태에서 , 같은 레포의 다른 브렌치를 pull 해도 같은 메세지가 출력되었다.) 🧐 에러메세지 hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git ..

JS (Java Script) 2023.09.28

git 클론 말고 pull 해서 받아온 후 push 하기.

git 클론 말고 pull 해서 받아온 후 push 하기. git bash : 터미널 에서 시작. git init : 초기화 __ 이제부터 깃 쓸꺼야. 숨김파일 생기면서 깃 처리 들어올껄 알게 됨. git remote add origin [저장할 레포지토리 주소] : 로컬 저장소 , 깃 저장소 연결 git pull origin master : 오리진 master 에서 pull 해서 받아오기(master 브런치가 아니라 main 인 경우에는 main 이라고 적기.) git checkout -b 이름 : git에 새로운 브렌치 생성 git add . : 모든파일 업로드 git commit -m "메세지" : 파일을 커밋한다. 전달할 메세지 입력. git push -u origin 브렌치 이름 : 수정한 코드..

JS (Java Script) 2023.09.25

mongodb 설치 오류. Cannot install on Intel processor in ARM default prefix (/opt/homebrew)!

mongodb를 이용하는 강의를 듣던중 연결이 안되는 문제를 발견했다. 처음에는 localhost 문제인 줄 알았지만, mongodb 를 연결하는 코드 안에서 불러왓기 때문에 안되는 것이였다. (밖으로 빼보니 잘 되었다.. ㅎ) mongoose 를 사용해 localhost 로 잘 불러와 졌지만, 나는 강의를 mongodb를 이용하는 것으로 진행하기 때문에 이 문제를 꼭 해결해야만 했다. 깊은 수렁의 시작...... 열심히 구글링 하기 시작했다. mongodb의 버전 문제라는 말도 있어서 버전 확인을 시도했다. https://database.guide/7-ways-to-check-your-mongodb-version/ 7 Ways to Check your MongoDB Version If you’re wo..

JS (Java Script) 2023.09.17

? 연산자. optional chaining 연산자 / ??연산자 nullish coalescing 연산자

optional chaining 연산자. 중첩된 오브젝트 자료에서 뭔가 가져올 때에 에러를 감춰주고 안전하게 가져오기 좋다. (에러가 생기면 중간에 멈추는걸 방지한다는 말이다. ) 그래서 중첩되지 않은 일반 오브젝트에 optional chaining 연산자를 사용하는건 의미가 없다. 아래 예시를 봐보자. let coffe = { jeny : 'latte', suger : 'vanilla latte', //jhop : {menu : "americano" , shots : 1} } //보통 이렇게데이터를 가져온다. console.log(coffe.jeny); //신 문법이 나옴으로 optional chaining 연산자 가능해짐. console.log(coffe?.jeny) 이렇게 obj ?. 가져오려는 정..

JS (Java Script) 2023.09.14

Set 자료형

Set 자료형 중복자료를 허용하지 않는 "값" 만을 모아놓은 특별한 "컬렉션" 이다. iterable 한 객체를 전달받으면 (대부분 "배열을 전달받는다") 그 안의 값을 복사해서 Set 에 넣어준다. .add()를 통해 Set 자료에 값을 추가 할 수 있는데 추가한 뒤에 Set 자신을 반환한다. let check2 = new Set(['나나', '정국', '가희', '나나']); console.log(check2); //Set(3) {'나나', '정국', '가희'} //Set 자료에 값 추가하기 check2.add('고은') console.log(check2 ); //Set(4) {'나나', '정국', '가희', '고은} //Set 자료에 값 제거하기 check2.delete('고은') //true //..

JS (Java Script) 2023.09.14

Map 자료형

강의를 듣고 까먹을 것 같아서 정리한다. Map 자료형 object 와 비슷하게 key value 를 저장하지만, object 와는 다르게 {'name' => 'kim}의 구조를 가지고 있다. 생성자 함수를 통해 만들 수 있다. 좀더 자세히 살펴보자. 일단 Map 자료형을 만드는 과정은 아래와 같다. //Map 자료형 생성하기 let thisIsMap = new Map(); //Map에서 데이터 저장하기 thisIsMap.set('name', 'kim'); thisIsMap.set('age', '20'); console.log(thisIsMap); //Map(2) {'name' => 'kim', 'age' => '20'} //Map에서 데이터 가져오기 console.log(thisIsMap.get('ag..

JS (Java Script) 2023.09.14

Symbol 이란??

Symbol 이란?? (숨김key 가능) object 자료형의 key 값으로 사용될 수 있다. (원래는 문자열만 obj의 key로 올 수 있었음.) object 자체를 바로 출력해버리면 symbol():value 이렇게 값이 드러난다. 그렇지만 반복문 안에서는 보이지 않는다. 이렇게 사용한다. let 심볼 = Symbol('설명'); 오브젝트.[심볼] = 넣을 값 입력; 좀더 자세한 예시를 살펴보자. Symbol 설정방법 1️⃣ let cat = {name : '빌리', age : 2}; //자료 넣을때 주로 하던 방법 //cat.character = '우주최고대마왕겁쟁이'; //Symbol자료 넣기. let character = Symbol('어떤 성격을 가졋을까요?') cat[character] = ..

JS (Java Script) 2023.09.13