1. Map( ) 맵은 키-값 쌍을 저장한다는 점에서 객체와 유사하나, 다양한 자료형을 허용한다는 점에서 차이가 있다. 객체와의 차이점. +) 객체는 기 값을 문자형으로 변환시키나, 맵은 키의 타입을 변환시키지 않음. 주요 메서드 new Map() ㅡ 맵을 만들기. map.set(key, value) ㅡ key에 value 값 저장. map.get(key) ㅡ key에 해당하는 값 반환, 없는 경우 undefined 반환. map.has(key) ㅡ key가 존재하면 true, 존재하지 않으면 false 반환. map.deletel(key) ㅡ key 값 및 해당 값 삭제. map.clear() ㅡ map 전체 요소 삭제. map.size ㅡ 요소의 전체 개수 반환. map.forEach() ㅡ 맵의 모..
1.불변성? 객체는 참조 형태로 값을 주고 받는데, 하나의 객체가 생성되고 그 값을 다른 객체들이 참조 하고 있다면 의도 하지 않은 값의 변형으로 문제가 발생하는 경우가 있을 수 있다. 보통 이런 경우 레퍼런스를 참조한 다른 객체에서 객체를 변경 하기 때문이다. 이와 같은 문제를 방지 하기 위해서는 불변의(immutable) 객체를 만들거나 객체 복사를 통해 새로운 객체를 생성 한 후 변경하는 것이 안전하다. let a = 10; let b = a; a = 20; console.log(a,b); //20 10 위 코드는 변수 a에 10을 할당하고, 변수 b는 a가 가리키는 주소를 가리킨다. 이때 a를 20으로 변경하면 a와 b모두 20이 아닌 a만 20으로 바뀌게된다. 이유는 Boolean, Numbe,..
1. 일반 함수 일반적인 함수 선언 //function 함수명(매개변수 . .){ // 로직 전개 //} function add(a,b){ return a+b; } console.log( add(1+10) ); // 11 2. 리터럴(익명) 함수 함수명이 없는 형태를 가지고 있다. JS는 함수도 데이터형으로 간주하여, 함수 자체를 리터럴로 표현해, 변수에 대입, 다른 함수의 인자로 전달 등이 가능하다. // function(매개변수 ..){ //로직전개 // } let add = function(a,b){ return a+b; } console.log(add(1,10)); //11 3. 차이점과 정리 먼저 호이스팅의 개념에 대해 알아야한다. 호이스팅이란 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수..
1. forEach break, return 을 통해 중지시키지 못한다. 배열 자체 내부 값을 변경하는것이다. (map 함수와의 차이점) // dr 현재 배열의 값, idx 현재 배열의 인덱스 값 [1,2,3,4,5].forEach((dr, idx)=>{ console.log(dr,idx); }) // 1 0 // 2 1 // 3 2 // 4 3 // 5 4 2. some return true => break (이 경우 break되면서 true 반환), return false => continue 기능을 한다. // dr 현재 배열의 값, idx 현재 배열의 인덱스 값 [1,2,3,4,5].some((dr, idx)=>{ if(dr==3){ return true } console.log(dr,idx); ..
1. 동기 [ 개념 ] 한 작업이 완전히 끝나야 다음 작업으로 넘어간다. 순차적, 직렬적 테스크를 수행한다. 2. 비동기 [ 개념 ] 한 작업이 끝나지 않고 다음 작업으로 넘어간다. 병렬적 테스크를 수행한다. [ 왜 필요할까? ] API를 호출하여 데이터를 받아온다고 가정했을 때, 비동기로 처리하지 않고 동기적으로 구성한다면 데이터를 받아오는 시간동안 기다린 다음 어떠한 로직이 실행이 될 것이고, 데이터 양이 늘어나거나 대량 API호출을 하면 속도가 느려지기 때문에 비동기적 처리가 필요하다. 예제 ) setTimeout / ajax console.log('1'); setTimeout(function() { console.log('2') }, 3000); console.log('3') // 1->3->2 ..
- Total
- Today
- Yesterday
- 1급 시민
- array
- Virtual Scroll
- rewrites
- 렌더링 속도 개선
- 호이스팅
- 시맨틱 웹
- 타입스크립트
- debouncing
- next.js 환경변수
- 가상스크롤
- vue
- react
- javascript
- React로 쓰로틀링 디바운싱 구현
- programmers
- redirects
- 자바스크립트 비동기 동작원리
- 자바스크립트 동작원리
- zustand
- useRef
- 1급 함수
- Next.js
- next.js에 .gitignore가 적용되지 않을 때
- 1급 객체
- typescript
- 목표 일기
- 함수형 컴포넌트
- 매겨변수와 인자
- redux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |