분류 전체보기
-
[자바스크립트] 클로저에 대해서javascript 2021. 4. 9. 14:34
(정의) 클로저는 함수와 그 함수가 선언됐을 때의 렉시컬 환경(Lexical environment)과의 조합이다. 렉시컬 환경 : 스크립트 전체, 실행중인 함수, 코드블록 등은 자신만의 렉시컬 환경을 갖는다. 렉시컬 환경은 환경레코드, 외부렉시컬 환경으로 구성된다. (사전지식) 함수는 3가지정보가 포함된 객체를 갖는다(추상적개념임) 1. 변수에대한정보(활성객체 AO(activation object)) 2. 스코프체인 3. this(는 호출되는 환경에 의해정해짐) (설명) 스코프는 함수를 호출할 때가 아니라 함수를 어디에 선언하였는지에 따라 결정된다. 이를 렉시컬 스코핑(Lexical scoping)라 한다. 위 예제의 함수 innerFunc는 함수 outerFunc의 내부에서 선언되었기 때문에 함수 in..
-
자바스크립트 실행컨텍스트에 대하여 ( Excution context)javascript 2021. 4. 8. 15:10
클로저에 대해서 찾아보는 도중에 실행컨텍스트에 대한 내용이 선행이 되면 좋다고 한다. 클로저뿐만아니라 , this, scope, hoisting 에 대해서 이해하기도 쉬워 진다고 하니까 먼저 어떤 내용인지 알아보자 정의 : 실행가능한 코드가 되기 위한 실행 환경 이다. 여기서 실행가능한 코드란 전역코드와 함수내의 코드이다. 코드를 실행하는데 필요한 정보 1. 변수에대한정보 : (전역변수,지역변수,매개변수,객체의 속성) 2. 변수의 유효범위 3. this 4. 함수의 선언 함수의 실행과 실행 컨텍스트 스택 1. 함수를 실행하면 스택이 생기고 완료되면 소멸한다. 2. 전역실행컨텍스트는 어플리케이션이 종료될때가지 유지된다. 3. 위 그림에서 박스 하나가 실행컨텍스트스택 하나라고 보면된다. 4. 각각의 실행컨텍..
-
Event bubbling , Event capture , Event delegationjavascript 2021. 4. 7. 15:57
이벤트 버블링 에 대해서 발생한 이벤트가 상위 노드로 계속 전달되는것 정도로만 알고 있었다. stoppropagation 을 사용할 일이 있어서 같이 적어두고 event capture 랑 event delegation 에 대해서도 알아보자 보통 이런 팝업창은 엑스표시를 눌려서 닫히기도 하지만 팝업창 밖에 를 눌르면 그냥 닫히기도 한다. 이럴때 어떻게 해주면 될까? 위코드처럼 클로즈 모달 함수를 밖에 박스에 걸어두면 된다... 당연한 이야기긴 하다.ㅎㅎㅎ 그런데 div 박스에 stopPropagation 이라는 함수를 걸어주기 않게되면 어떻게 될까? 바로 해당 박스만 눌럿을 뿐인데 이벤트가 버블링 되어 밖에 박스를 누를거와 같게되 onCloseModal 함수가 실행이 되게 된다. 그러므로 그냥 창이 닫힌다..
-
http 요청 header 살펴보기기타 2021. 4. 5. 21:12
대충보던거를 한번 정리를 해보려고 한다. 예시는 네이버 어느 카페의 general Header 이다. Request URL:https://cafe.naver.com/ContentWidget.nhn?m=currency&type=1&country=ALL&iconid=9&wide=true Request Method: GET Status Code:200 Remote Address: 210.89.168.34:443 Referrer Policy:unsafe-url 1번에는 요청을 받는곳(서버) 의 url 이 적혀있군 2번은 메서드의 종류를 적는곳이군 3번은 상태코드이군 4.요청하는 클라이언트의 ip 가 적혀있다. 5.HTTP 헤더 외에도 HTML에서이 정책을 설정할 수 있습니다 추가적인 정책에 대한 정보 예시 Re..
-
알고리즘 문제 풀 때 배열 안에서 중복제거 하는 방법!!!!!!!! (feat.new Set)기타 2021. 4. 3. 12:31
처음에는 for 문 과 indexOf 를 사용해서 중복되지 않는것을 새로운 배열에 넣어줌으로 써 사용을 했었다. 이후에는 filter 메서드 사용해 왔는데 new Set(arr) 이라는 걸 알게 됬는데 되게 편하다. 위에 있는걸 써도 되지만 조금 복잡한 문제풀이과정에서는 부수적인 부분은 최대한 간결하게 표현해주는게 정신적으로 좋다 ....................... set 을 처음 써보는 거라 이거저거 넣어봤다. 객체랑 숫자는 타입에러가 나고 배열이나 문자열을 넣으면 중복되는 것들을 제거해서 Set 객체로 반환해준다. 집합이라고 생각하면된다. Mdn 설명이다.ㅋㅋㅋ 무튼 이런 특징을 이용해서 [...new Set(arr)] || Array.from(new Set(arr)) 이런식으로 유사배열을 배..