본문 바로가기

TIL

(46)
[TIL] delete function deleteReview() { let reviewId = this.closest("li").id; let ReviewList = JSON.parse(window.localStorage.getItem(id)); console.log("리뷰 ID: ", reviewId); //리뷰 ID: ID_111 console.log("리뷰 목록:", ReviewList); //리뷰 목록: Object ID_123 ... } 이번에 프로젝트를 하면서 localStorage에서 데이터 지우는 부분을 감을 잡지 못해서 어려웠다. 팀원분의 도움으로 알게된 코드였는데 첫번째줄의 this는 button #deleteReview를 말했고, closest("li")는 현재 엘리먼트에서 가장 가까운 엘리먼트를 찾아준다..
[TIL] JSON JSON JSON은 자바스크립트 언어 자체가 아니라 "문자 기반의 데이터 교환 형식" 이다. JSON의 구조 JSON 구조는 리터럴 작성법을 따른다. 문자열 표기할 때는 꼭 " " 만 사용 가능하다. JSON은 키 - 값 쌍(key - value pair)으로 이루어진 데이터 객체를 표현한다. 데이터는 콤마로 구분된 키-값 쌍들의 집합으로 이루어진다. JSON은 객체, 배열, 문자열, 숫자, 불리언, null 등 다양한 데이터 타입을 지원한다. JSON 문자열을 자바스크립트 객체로 변환 let jsonStr = '{"name": "Kim", "age": 30, "city": "New York"}'; let jsonObj = JSON.parse(jsonStr); 자바스크립트 객체를 JSON 문자열로 변환 ..
[TIL] Promise 동기는 순차적으로 진행, 비동기는 a Task가 실행되고나서 끝나기도 전에 b Task가 실행되고, b Task가 끝나기도 전에 c Task가 실행된다. 비동기 처리를 위한 또 다른 패턴으로 프로미스(Promise)를 도입했다. 프로미스는 콜백 패턴이 가진 단점을 보완하고 비동기 처리 시점을 명확하게 표현할 수 있다. Promise는 생성자 함수를 통해 인스턴스화한다. Promise 생성자 함수는 비동기 작업을 수행할 콜백 함수를 인자로 전달받는데 이 콜백함수는 resolve와 reject함수를 인자로 전달받는다. // Promise 객체 생성 const promise = new Promise((resolve, reject) => { //비동기 작업을 수행 if (/* 비동기 작업 성공 */) { res..
[TIL] .gitignore을 써도 안될 때 API Key를 따로 빼서 깃허브에 커밋하지 않으려고 넣으려고 했는데 기존에 커밋이 되어있어서 .gitignore 을 써도 잘 되지 않았다. 찾아보니 // 원격 저장소에서만 파일 혹은 경로 삭제 $ git rm -r --cached . //후에 $ git add . $ git commit -m "깃허브에 올라가면 안되는 폴더" 이렇게하니까 바로 해결이 됐다.
[TIL] branch branch 명령어 브랜치 생성하는 명령어 git branch main(
[TIL] module import / export 모듈이란? 개별적 존재로서 애플리케이션과 분리되어 존재하고, 하나의 파일이 하나의 모듈을 형성한다. 독립적인 스코프를 가지며, 모듈 내에서 선언한 변수, 함수, 클래스 등은 기본적으로 외부에서 접근할 수 없다. export 와 import를 사용하여 특정 부분을 내보내고 가져와서 다른 모듈에서 사용할 수 있게끔 하는 것이다. ES6부터 추가된 자바스크립트 모듈 기능 //html에 추가하기 모듈은 HTML 문서가 완전히 준비될 때까지 대기 상태에 있다가 HTML 문서가 완전히 만들어진 이후에 실행된다. 다른 모듈들이 재사용할 수 있게 하려면 export 키워드를 사용한다. 다른 페이지에 함수 내보내기 // script.js const config = { api: /* my api key 입력 */ } ex..
[TIL] 10 // 제곱 console.log(2 ** 3); // 8 console.log(5 ** 4); // 625 //소수로 된 값 정수로 반올림 const num1 = Math.round(367.7); const num2 = Math.round(27.711); console.log(num1); //368 console.log(num2); // 28 // 분기문 (= 조건에 따라 코드의 실행 경로를 나누는 구문 ) let age = 10; if ( age > 20) { console.log("성인입니다."); }else { console.log("미성년자입니다."); } // 최대값 찾기 function find_max_num(array) { // 이 부분을 채워보세요! return 1; } console.lo..
[TIL] 09 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. N의 범위 : 100,000,000 이하의 자연수 입출력 예 N answer 123 6 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. 풀이 function solution(n) { let sum = 0; // 어떻게 빼줄까? 문자열로? let num = n.toString().split("").map(Number); for(let i = 0; i < num.length; i++) { sum += num..
[TIL] 08 sort() 함수 sort() 함수 정리 배열의 정렬 순서를 정의하기 위해 사용하는 메소드 arr.sort([compareFunction]) sort() 함수 숫자 오름차순으로 정렬하기 sort() 를 쓴다고해서 바로 오름차순으로 정렬이 되는 것이 아니다. const arr1 = [21, 6, 3, 15]; const arr2 = ['banana', 'apple', 'orange']; console.log(arr1.sort()); //[ 15, 21, 3, 6 ] console.log(arr2.sort()); //[ 'apple', 'banana', 'orange' ] 파라미터(compareFunction)가 입력되지 않으면, 유니코드 순서에 따라서 값을 정렬한다. 15에서 1, 21에서 2, 3, 6 이런 순서로 반환된..
[TIL] 07 프로그래머스 각도기 * 문제 설명 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 예각 : 0