일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 라우팅
- 접근 제한 라우팅
- Github Actions
- CI/CD
- Redux
- 미리보기
- 후기
- rendering
- useEffect
- 스파르타코딩클럽
- Preview
- updater
- react
- 배포
- FileReader
- 채팅방
- routing
- S3
- route
- 비동기
- 브라우저 렌더링
- imagePreview
- qwe
- socket.io
- 개발
- 항해99
- 동기
- previousState
- 7기
- setstate
- Today
- Total
목록Javascript (6)
삐옹

싱글스레드 - 자바스크립트는 싱글스레드 언어이다. - 싱글 스레드? 자바에서는 각 스레드 별로 역할을 지정해줄 수 있다. (이 일은 스레드 A에서 하고 저 일은 스레드 B에서 해야지) - 근데 자스는 그렇게가 안됨. 그런데도 우리가 쓰는 대부분의 앱들을 동시적(실은 동시적이 아니라 contetxt switching이 일어난다) 으로 돌아간다. - 그 이유는 바로 js가 실행되는 브라우저에는 여러가지 쓰레드가 들어있기 때문이다. 그래서 웹 API들을 이용하게되면 멀티스레딩이 가능하다. 게다가 이벤트 루프를 사용해서 더 다양한 동작을 실행할 수 있다. 구조 자바스크립트 엔진은 변수를 생성해서 오브젝트를 할당하거나 문자, 숫자 할당하게 될때 저장하는 memory heap과 실행되는 함수를 차곡차곡 쌓아놓는(L..

Object는 알다가도 모를 놈이다. 복사한다고 했는데, 원본 바뀐다고 얘도 똑같이 바뀌면 어쩌자는거지. 에 대한 해결법이다. 상황 user1에 있는 데이터를 user2에 복사한 뒤 user1에 수정이 일어났을 때 무슨 일이 일어날까. (user1의 데이터 타입이 *원시형일때와 **객체형 일 때 두가지 상황으로 나눠 설명합니다.) *원시형(primitive type) String Boolean null undefined symbol (ES6에서 추가됨) **객체형(object/reference type) object 원시 타입 데이터 복사 user1에 "mike"를 넣고, user2에 user1을 복사 해줍니다. let user1 = "mike"; let user2 = user; console.log(u..
언제 봐도 모르겠는 map, forEach. 기본은 알고 검색해야하니까 차이점 파악을 목적으로 특징들을 정리해보았다. map() - 배열 내 모든 요소에 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. - 원본 배열을 변경하지 않습니다. 반환 값 콜백 함수가 적용된 요소들의 새로운 배열 forEach() - 배열 내 모든 요소에 콜백함수를 실행시킵니다. - 원본 배열을 변경하지 않습니다. - 기본적으로 for을 대체 하기위한 메소드입니다. 반환 값 undefiend 결론: 1. map과 forEach의 가장 큰 차이는 반환 값의 차이이다. 2. 둘 다 배열을 변경하지 않는다.

예전 기억을 더듬어보니, '가짜 배열' 어쩌구저쩌구 했던것 같은데요. 왜 쓰이는건지 궁금해져 정리해보기로 했습니다. (요즘 왜 집착증에 걸렸다) Nodelist 배열이 아니라 유사배열이다. for, for...of, forEach를 사용하여 반복할 수 있다 element.childNodes 속성과 document.querySelectorAll 메소드에 의해 반환되는 콜렉션이다. element.childNodes 속성에서는 DOM의 변경을 반영한다.(라이브 콜렉션) document.querySelectorAll 속성에서는 DOM을 변경해도 영향을 주지 않는다.(정적 콜렉션) querySelectorAll로 반환한 nodelist에는 뭔가를 한다고 값은 정적 콜렉션이어서 실시간으로 반영하지 않는다. 즉 중간..
return은 자주 써서 알고 있었지만, break와의 차이는 명확하게 알지 못해서 두 개의 차이를 정리해 보고자 합니다 1. return : 실행중인 함수를 종료하고 빠져나옵니다. 예시) function counter() { for (var count = 1; ; count++) { // 무한 반복 console.log(count + "A"); // 5까지 if (count === 5) { return; // count가 5가 되면 counter 함수 종료시킴 } console.log(count + "B"); // 4까지 } console.log(count + "C"); // 절대 나타나지 않음 } counter(); // 출력: // 1A // 1B // 2A // 2B // 3A // 3B // 4..
최근 알고리즘 문제를 풀면서 배열을 많이 마주치게 되었다. 그만큼 배열에 쓰이는 다양한 메소드들도 써 볼 기회가 많았다. 전에 많이 봤던 것들인데도 잘 모른다는게 부끄러웠다. 그래서 내 손으로 직접 정리해보기로 했다. 배열의 요소를 삭제 하는 법 pop()을 사용하여 배열의 마지막 요소 삭제 shift()을 사용하여 배열의 첫 번째 요소 삭제 splice()를 사용하여 begin~end까지의 배열 요소를 삭제 filter()를 사용하여 배열 요소를 삭제 delete 연산자를 사용하여 배열 요소 삭제 pop() 배열의 마지막 요소를 삭제합니다. 반환 값 : 삭제한 요소 let arr = [1,2,3,4]; arr.pop(); // 4 arr // (3)[1,2,3] shift() 배열의 첫 번쨰 요소를 삭..