![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVqUmU%2FbtsKEnCaouS%2FAWCYrZ9XG5DNbrNSn8yHp0%2Fimg.jpg)
🦎 JavaScript
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbiYeO%2FbtsKBKF7LdV%2FlDO8K0W9x8eFkpk5QVOD00%2Fimg.png)
return 0보다 작은걸 반환한다.return > 0, B, A (switch order) 오름순서는 작은 숫자에서 큰 숫자로 가는 것 의미// Stringsconst owners = ['Jonas', 'Zach', 'Adam', 'Martha'];console.log(owners.sort());console.log(owners);//Numbersconsole.log(movements);// return 0, B, A (switch order)// Ascending/*movements.sort((a, b) => { // a-b임. if (a > b) return 1; // 긍정적 if (a a - b);// a가 b보다 클 경우 양수라는 걸 알고 있음// 즉, 양수 반환console.lo..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdScYpf%2FbtsKAA3IN2U%2Fek0Y7ztMUbg3k9JxhY9R6K%2Fimg.png)
비슷하면서도 다른 some, evey, filter의 차이에 대해 알아보자! ✨const numbers = [1, 2, 3, 4, 5];some - 조건에 하나라도 맞으면 true 반환some은 배열에서 조건을 만족하는 요소가 하나라도 있으면 true를, 아니면 false를 반환한다.const hasEven = numbers.some(num => num % 2 === 0);console.log(hasEven); // true (짝수 2, 4가 있기 때문) 그렇다면 언제 사용할까? 🤔특정 조건을 충족하는 항목이 하나라도 있는지 확인할 때 유용하다.evey - 모든 요소가 조건에 맞으면 true반환every는 배열의 모든 요소가 조건을 만족해야 true를, 하나라도 불만족하면 false를 반환한다.cons..
자바스크립트에서 콜백함수의 개념에 대해 헷갈렸다. 콜백함수는 다른 함수의 파라미터로써 전달되는 함수라고 한다. 그렇다면 콜백함수가 왜? 필요할까? 콜백함수가 필요한 이유는 비동기 처리, 유연한 코드 구조를 위해서다.그렇다면 비동기 처리가 뭘까?자바스크립트에서는 코드가 위에서 아래로 순차적 실행이 된다. 그러나, 코드가 다른 행위가 일어난 뒤에 실행되는 경우도 있고 순차적으로 실행되지 않는 경우도 있다. 이럴때 비동기 프로그래밍이라고 한다. https://www.freecodecamp.org/korean/news/https-www-freecodecamp-org-news-javascript-callback-functions-what-are-callbacks-in-js-and-how-to-use-them/..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPFbUt%2FbtsJENPSVcj%2FBBVtX4KxFS8D1CYlAoKFpk%2Fimg.png)
옵셔닝 체이닝(?.)객체의 속성이나 메서드가 존재하는지 확인 후 접근할 때 사용 만약 속성이 null 또는 undefind라면, 에러를 발생시키지 않고 undefined를 반환=> 안전하게 객체의 속성 접근 const user = { name: 'Alice', address: { city: 'New York', },};// 옵셔널 체이닝 없이:console.log(user.address.city); // 'New York'console.log(user.address.street); // undefined (정상 작동)console.log(user.phone.number); // TypeError: Cannot read property 'number' of undefined// 옵셔널 체이닝 사..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fyf6nZ%2FbtsJEkmVHX8%2FcND7NQtHjpQLxXtBBTzA21%2Fimg.png)
filter메서드함수의 바환 값을 true로 만드는 요소를 찾는다. find메서드배열에서 조건을 만족하느 첫번째 요소를 반환한다. filter 메서드와 find 메서드의 근본적인 2가지 차이filtera메서드는 조건에 일치하는 모든 요소를 반환하지만 find메서드는 첫 번째와 두번째만 반환한다.filter메서드는 새 배열을 반환하고 find메서드는 배열이 아닌 요소만 반환한다.
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2XGSK%2FbtsJxUPlDxI%2FYj1NsNrP0j8rlEONTRaVGk%2Fimg.png)
map()filter()reduce()목적배열 내의 모든 요소 대해서 주어진 함수를 호출한 결과를 모아 새로운 배열로 반환배열에서 조건을 만족하는 요소만 추려서 새로운 배열을 반환배열의 요소를 누적하여 단일값 만듦사용 예시배열의 각 요소를 평가한다.(평가한다: 특정 조건이나 연산을 적용해 판단하거나 처리하는 과정을 의미)배열의 각 요소를 평가하고, 조건에 맞는 요소들만 남김배열의 각 요소를 누적하거나 합산하여 하나의 값을 계산할 때 사용반환 값변환 된 요소로 구성된 새로운 배열조건을 만족하는 요소로 구성된 새로운 배열누적된 단일 값코드const numbers = [1, 2, 3, 4];const dubled = numbers.map(num=> num*2);console.log(doubled); // [2..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdsRhDP%2FbtsJpEsCKFv%2FzPZkTgOOgaWKIqqSNblH20%2Fimg.png)
for ... of 배열의 요소를 직접 반복for (const element of array)const array = [1, 2, 3];for (const element of array) { console.log(element); // 1, 2, 3}배열 분만 아니라 map, set, string, nodelist 같은 이터러블 객체도 반복 가능객체에서 사용 블가for ...each배열의 각 요소에 대한 제공된 함수를 호출array.forEach(function(element, index, array) {...})const array = [1, 2, 3];array.forEach(function(element) { console.log(element); // 1, 2, 3 // 1, 2, 3}); ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIFpWS%2FbtsJcndlyqC%2Fh88ZF57Ss9QNNY57xKOed0%2Fimg.png)
요소에 스타일을 적용할수 있는 방법 CSS에 클래스를 만들고, 요소에 처럼 클래스 추가하기 처럼 프로퍼티를 style에 바로써주기 elem.className클래스 속성값 전체를 바꾸고 싶을때elem.classList개별 클래스를 조작하고 싶을 때 elem.classList에는 add/remove/toggle가 구현되어 있다.elem.classList.add/remove("class") - class를 추가하거나 제거elem.classList.toggle("class") - class가 존재할 경우 class를 제거하고, 그렇지 않은 경우에는 추가elem.classList.contains("class") - class 존재 여부에 따라 true/false를 반환