javascript 8

JS) 배열의 얕은 복사와 깊은 복사

자바스크립트에서 배열과 객체를 복사할 때, 얕은 복사와 깊은 복사를 구분하여 사용합니다. 얕은 복사 얕은 복사는 객체나 배열의 1단계 프로퍼티와 요소들만 복사하는 것을 말합니다. 객체나 배열 내부에 객체나 배열이 포함되어 있을 경우, 내부 객체나 배열은 참조 관계를 유지하게 됩니다. 얕은 복사는 배열의 slice() 메소드를 이용하여 구현할 수 있습니다. const arr1 = [1, 2, [3, 4]]; const arr2 = arr1.slice(); // 얕은 복사 console.log(arr1[2] === arr2[2]); // true 위의 코드에서 arr1 배열을 slice() 메소드를 이용하여 복사하였습니다. arr2는 arr1과 같은 배열이지만, 내부의 배열 [3, 4]는 참조 관계를 유지하..

JS) fetch VS axios (API 호출)

Fetch fetch는 ES6에서 도입된 네이티브 API로, 브라우저에서 제공됩니다. fetch는 Promise를 반환하며, 사용법은 다음과 같습니다. fetch(url) .then(response => { if (!response.ok) { throw new Error("HTTP error " + response.status); } return response.json(); }) .then(data => { console.log(data); }) .catch(error => { console.error(error); }); Axios axios는 브라우저와 Node.js에서 모두 사용할 수 있는 라이브러리입니다. axios는 Promise를 반환하며, 사용법은 다음과 같습니다. axios.get(url..

JS) [Alert] 웹 사이트에 경고 문구 띄우기

웹 사이트에서 경고 문구를 띄우려는 경우에 사용할 수 있다. 하지만, 이 방식은 웹 페이지의 기본 동작을 일시정지 시킨다. 예를 들어 어떤 링크에 alert를 연결하여 사용한다고 하자. 링크를 누르면 해당 페이지로 넘어가야 하는데, 링크를 눌렀을 때 alert 에 해당하는 코드를 써놓으면 페이지로 이동하기 전에 경고 문구를 보여준다. 해당 경고문구가 사라지면 페이지를 이동한다. 이러한 이유(웹 페이지의 기본 동작 일시 정지) 때문에 개발자들이 많이 사용하지는 않는다. alert("Stop!") 참고) https://nomadcoders.co/javascript-for-beginners

JS) [Backtick] 템플릿 리터럴 ... 문자열과 변수를 같이 사용하기

문자열과 변수를 같이 사용할 수 있는 편리한 방식이 있다. 키보드 기준으로 ESC 아래의 '~' 표시를 shift 없이 누른 문자가 'backtick' 이다. ` ` 생긴 모습은 작은 따옴표와 같다. 사용은 $ 기호와 함께 사용한다. `Hello, ${name}!` 자연스럽게 문자열과 함께 쓸 수 있으며, 괄호 안에 넣은 변수만 그 자리로 들어가게 된다. 아주 유용하다. 참고) https://curryyou.tistory.com/185 https://nomadcoders.co/javascript-for-beginners/lectures/2903

JS) [CSS in JS] 자바스크립트에서 CSS 사용하기

JavaScript 파일에서 CSS를 변경하는 방법에 대해 정리한다. event를 활용하여 실습을 진행한다. 1) CSS 적용 순서 실습을 통해 살펴본다. step 1 > element를 찾는다. const text = document.querySelector(".container__contents"); step 2 > event를 listen한다. text.addEventListener("click", handleTitleClick); step 3 > event에 반응한다. function handleTitleClick() { const currentColor = text.style.color; let newColor; if (currentColor == "blue") { newColor = "toma..

JS) [Event] 이벤트 활용하기 ... addEventListener, Window

document를 활용하면 많은 이벤트들을 다룰 수 있다. 간단한 예시를 통해 살펴보고, 원하는 이벤트를 찾는 방법에 대해서도 알아본다. 1) addEventListener const title = document.querySelector(".container__contents"); function handTitleClick() { title.style.color = "tomato"; } title.addEventListener("click", handTitleClick); 위 자바스크립트 코드를 활용하여 이벤트를 만들었다. document 및 querySelector로 불러온 객체를 활용하여 이벤트 및 함수를 다룬다. addEventListener 의 두 번째 파라미터에 함수명이 있는데, 원래 그 안에..

JS) [querySelector] document object를 통한 elements 접근

브라우저는 기본적으로 document라는 object를 가지고 있다. console.dir(document)를 입력하면 확인할 수 있다. 이처럼, 내가 입력하지 않은 사이트의 정보에 대해 접근하고 사용할 수 있다는 점은 아주 중요하다. JavaScript는 HTML을 읽어온다. 1) HTML 코드와 Element를 JS로 접근하기 document 객체에 있는 정보로 접근하는 것에서부터 모든 것이 시작된다. 예시로, getElementById 메서드를 통해 html 요소에 접근한다. const title = document.getElementById("contents"); 2) querySelector getElement 방식보다는 querySelector가 더 자주 쓰이는 편이다. CSS 방식으로 ele..

JS) 자바스크립트(JavaScript) 기초 문법 간단 요약

오랜만에 자바스크립트를 다시 시작하시는 분들을 위해 요약본을 만든다. 새롭게 시작하시는 분들은 본 포스팅을 보는 것도 좋지만, 자세한 설명은 없을 예정이니 참고. (코드 및 실습 위주) 들어가기 전에.. ) javascript 파일을 html에 연동하는 방법 js 파일을 만들고, html의 body tag 맨 아랫부분에 위의 방식으로 코드를 추가한다. 기본 경로는 index.html이 있는 폴더이다. 1) Variables + camecase 로 변수명 설정 추천 + 템플릿 리터럴: 백틱(``)을 활용하여 문자열 안에 변수를 넣을 수 있는 방법. ${ } 안에 변수를 넣는다. 2) const, let 변수 선언 방식. const: constant(상수)라는 뜻으로, 값이 바뀔 수 없다. let: 도중에 ..