본문 바로가기

JavaScript

(3)
[JavaScript] Object key 동적으로 추가하기 Object 변수에 'foo'라는 이름의 key를 동적으로 추가해보자.정적인 추가const obj = {};const key = 'foo';obj.key = 'bar';console.log(obj);>>> { key: 'bar' } // 'key'라는 이름의 key가 저장된다. (의도한 동작 X)obj.foo = 'bar'; // 따라서 정적인 방식에서는 key 이름을 직접 명시해야 한다.console.log(obj);>>> { foo: 'bar' }동적인 추가const obj = {};const key = 'foo';obj[key] = 'bar';console.log(obj);>>> { foo: 'bar' }; // 'foo'라는 이름의 key가 저장된다.
[Swiper.js] 복제 DOM 이벤트 부착 시점의 문제 Swiper를 사용할 때, autoplay 속성을 활성화하면 슬라이드 간의 자연스러운 움직임을 나타내기 위해서 원본 DOM이 앞 뒤로 복제된다. 그래서 실제로 내가 타겟으로 삼은 DOM 요소들은 중앙에서 나타나고, Swiper 옵션이 적용됨과 동시에 앞 뒤로 duplicate 라는 이름의 클래스를 가진 복제 DOM들이 자동으로 생성된 것을 확인할 수 있다. (그래서 슬라이드가 전환될 때마다 activeIndex, realIndex를 찍어보면 본래 의도한 순서와 다르게 실제 의도한 수 + 총 원본 갯수 의 수로 나타난다.) 이 때 중요한 것은 원본 객체의 이벤트 리스너 부착 시점이다. 예를 들어 제품 정보를 나타내는 영역이었다고 가정해보자. 하나의 제품 정보에는 장바구니 담기, 좋아요 버튼, 제품 상세 페..
[JavaScript] <head>에 넣은 <script>가 적용이 안된다? DOM 렌더링 시점에 따른 JS 호출 제어 Hello World 태그 안에 넣은  실행시킬 JavaScript 코드를 DOMContentLoaded로 감싼다.DOMContentLoaded는 모든 DOM 요소가 렌더링된 다음에 호출되도록 정의하는 이벤트 코드이다.따라서, 이는 태그 하단에서 태그를 호출하는 것과 거의 동일한 동작을 한다.document.addEventListener('DOMContentLoaded', () => { // DOM 렌더링 완료 후에 호출할 코드 document.querySelector('h1').style.color = 'red';})위 코드를 jQuery로 적용할 시에는 아래와 같이 작성한다.$(document).ready(() => { $('h1').css('color', 'red');})