일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 코테
- 코딩테스트
- CS
- 백준
- Javascript
- computerscience
- 호이스팅
- 야놀자
- html/css/js
- DFS
- KAKAO
- git
- 컴퓨터과학
- 패스트캠퍼스
- 국비지원
- CSS
- BFS
- 자바스크립트
- LinkSnap
- 국비지원취업
- js
- cpu
- 알고리즘
- nodejs
- 프론트엔드개발자
- 그리디
- 컴퓨터공학
- 부트캠프
- 너비우선탐색
- github
- Today
- Total
목록FrontEnd/Javascript(Vanilla) (40)
My Boundary As Much As I Experienced

이벤트위임이란? 버블링 캡처링을 통한 이벤트 전파를 통해 상위 요소에서 이벤트 핸들링을 하는 것을 말한다. event.target을 통해 어떤 위치에서 이벤트가 일어났는지 특정할 수 있다. 예시 1 Bagua Chart: Direction, Element, Color, Meaning Northwest Metal Silver Elders ... ... ...2 more lines of this kind... ...2 more lines of this kind... table이 있고 tr, td들이 들어있는 테이블 구조가 있다고 하자. 여기서 원하는 cell(td)을 클릭하면 색상이 바뀌도록 바꾸고 싶다고 하자. 이때 td들에 일일이 다 이벤트 리스너를 부여하는 방식은 매우 코드가 많아지고 반복적인 요소가 ..

과제 목표: 직원들의 프로필과 사진을 관리할 수 있는 사진 관리자 서비스 만들기. “AWS S3 / Firebase 같은 서비스”를 이용하여 사진을 관리할 수 있는 페이지를 구현하세요. 프로필 페이지를 개발하세요.스크롤이 가능한 형태의 리스팅 페이지를 개발하세요. 전체 페이지 데스크탑-모바일 반응형 페이지를 개발하세요.사진을 등록, 수정, 삭제가 가능해야 합니다. 유저 플로우를 제작하여 리드미에 추가하세요. CSS애니메이션 구현상대수치 사용(rem, em) JavaScriptDOM event 조작 결과물 주소: https://profilebase-bm0729.firebaseapp.com/ 깃허브 주소에서 기능 설명 자세히 보기 ProfileBase, 직원 사진 관리 백오피스 (KDT0_JeongBeomH..
가상 클래스 선택자 :checked 를 사용하여 체크된 체크박스들만 모두 선택할 수 있다. 선택자로 선택된 node를 찾아 조작할 수 있다. const checked = document.querySelector("input[type='checkbox']:checked") 또한, 프로퍼티 속성을 다루듯이 사용할수도 있다. 아래 예제는 내가 전체 체크박스를 눌렀을 때, 다른 체크박스들을 모두 선택되게 하거나, 모두 해제하게 하는 로직을 구현한 방법이다. input type="checkbox"인 노드는 .checked 식으로 프로퍼티 속성을 다루듯이 사용할 수 있다. const primeCheckbox = document.querySelector("input[type='checkbox']") // 맨 첫번째 ..
some 리턴 값이 하나라도 true라면 true값 반환. (빈 배열에서 사용하면 false값 반환) const array = [1, 2, 3, 4, 5]; // checks whether an element is even const even = (element) => element % 2 === 0; console.log(array.some(even)); // expected output: true every 모든 인자들이 콜백함수 테스트를 통과하면 true를 반환. 콜백함수를 하나라도 통과하지 못할 시 false 반환. every함수와 부정연산자(!)를 사용하여 콜백을 짜면 하나라도 참일 시 false를 반환하는 로직을 짤 수 있다. (빈 배열에서 사용하면 true값 반환) const isBelowT..
버블링Bubbling이란? 특정 요소를 선택했을 때, 그 요소 뿐만이 아니라 상위 요소들의 이벤트 리스너도 작동하는 것을 말한다. 이동하기 //JS const divEl = document.querySelector("div") const pEl = document.querySelector("p") const aEl = document.querySelector("a") divEl.addEventListener("click", ()=> console.log("div")) pEl.addEventListener("click", ()=> console.log("p")) aEl.addEventListener("click", ()=> console.log("a")) //클릭 시 //a //p //div 한 요소에 이..

과제 목표: HTML/CSS를 사용하여 원하는 페이지를 구현하기(JS는 꼭 필요한 부분에만 사용하고 그 이유를 명시하기) 결과물: 원본 사이트: https://line.me/ko/ LINE|라인은 언제나 사용자와 함께 합니다. 메신저 앱 그 이상의 경험을 제공합니다. 라인은 새로운 인프라 경험, 새로운 커뮤니케이션 경험을 모두에게 전달하고자 합니다. line.me 클론 코딩 결과물: https://playful-eclair-e2793a.netlify.app/ LINE|라인은 언제나 사용자와 함께 합니다. 메신저 앱 그 이상의 경험을 제공합니다. 라인은 새로운 인프라 경험, 새로운 커뮤니케이션 경험을 모두에게 전달하고자 합니다. line.me 과제에서 배운 부분: 지금껏 html/css/바닐라 자바스크립트..

GSAP이란? GSAP은 자바스크립트 애니메이션 라이브러리이다. CSS로도 transition이나 애니메이션을 만들 수 있고, JS로도 어느정도 동적인 웹사이트를 만들 수 있지만, GSAP을 이용하면 훨씬 더 쉽게 애니메이션을 만들 수 있다. 반복적이거나 yoyo효과같은 것도 만들 수 있다. 기본적인 사용법 (조작할 수 있는 속성) 더보기 위치 및 크기: x: 요소의 가로 축 위치를 이동합니다. y: 요소의 세로 축 위치를 이동합니다. left: 요소의 왼쪽 위치를 이동합니다. top: 요소의 위쪽 위치를 이동합니다. right: 요소의 오른쪽 위치를 이동합니다. bottom: 요소의 아래쪽 위치를 이동합니다. width: 요소의 너비를 조절합니다. height: 요소의 높이를 조절합니다. scale: ..

공통점 .append()와 .appendChild() 모두 대상 객체에 자식 노드를 추가하는 메소드이다. .append() append메소드를 사용하면 노드 객체(Node Object)나 DOMstring을 사용할 수 있다. 1. 바로 텍스트를 추가할 수 있다. 2. 여러 개를 한꺼번에 추가할 수 있다. .appendChild() 1. 텍스트를 추가하려면 createTextNode를 만들어서 첨부해야 된다. 2. 한 번에 하나의 요소만 추가 가능하다. 결론 여러모로 append를 쓰는게 낫겠다. appendchild를 여러번 쓸걸 한 번에 처리할 수 있을거같다.

정의: Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. Promise는 프로미스가 생성된 시점에는 알려지지 않았을 수도 있는 값을 위한 대리자로, 비동기 연산이 종료된 이후에 결과 값과 실패 사유를 처리하기 위한 처리기를 연결할 수 있습니다. 말이 너무 어려운데, 쉽게 말하자면, 외부 API를 호출했는데 값이 아직 안 왔다는지, 의도적으로 setTimeout(시간 지연)하고나서 그 값을 활용해야된다는지 등등.. 다른 모종의 이유로 아직 값이 할당되지 않은 변수를 활용하는 방법 중 하나이다. 예를 들어 날씨 API를 활용하여 기상 예보를 보여주는 사이트가 있다고 해보자. 이 사이트에는 이런 로직이 있다. 1. 날씨 API를 사용해서 오늘의 날씨를 조회한다. 2..

Callback 콜백이란? 함수가 끝나고 난 뒤에 실행되는 함수. 자바스크립트에서 함수는 객체이다. 따라서 함수는 함수를 인자로 받고 다른 함수를 통해 반환될 수 있다. 인자로 대입되는 함수를 콜백함수라고 부른다. 다른 함수에 콜백 함수를 대입하는 방법 1. 익명함수로 전달 myDiv.addEventListener("click", function (){ console.log("익명함수를 넣어서 동작!") }) // 사실 기명함수를 선언해서 넣어도 똑같다. 이름이 있으나 없으나 상관없다. 2. 화살표 함수로 전달 myDiv.addEventListener("click", () => console.log("화살표 함수를 넣어서 동작!")}) 3. 선언/표현한 함수를 전달 myDiv.addEventListene..