간단정리 var 재선언, 재할당 가능 함수레벨 스코프만을 지역변수로 가진다 → 함수 외부에서 사용한 var변수는 모두 전역변수가 된다. 호이스팅을 통해 선언 전에도 undefinded 라는 값을 반환한다. 오류는 아니나 흐름상 맞지 않는다. > var의 함수레벨 스코프 지역변수 예시 코드 블록 내에서 var x의 값을 재선언&재할당했을 때 함수 내...
이벤트 전파 > 이벤트 전파(propagation)란 말 그대로, 어떤 요소에서 발생한 이벤트를 전달하는 것이다. 그렇다면 왜 이벤트 전파를 할까? 그것은 html 요소가 중첩되어있기 때문이다. 상위 요소 안에 하위 요소가 있기 때문에, 하위요소를 클릭한다=상위 요소도 클릭되었다고 할 수 있다. 그렇다면 여기서 의문이 생긴다. 사용자는 상위 요소를 클릭...
클로저란? 자신을 포함하고 있는 외부함수보다 내부함수가 더 오래 유지되는 경우, 외부 함수 밖에서 내부함수가 호출되더라도 외부함수의 지역 변수에 접근할 수 있는 함수. 즉 외부함수가 이미 반환되었어도 외부함수 내의 변수는 이를 필요로 하는 내부함수가 하나 이상 존재하는 경우 계속 유지된다. 이때 내부함수가 외부함수에 있는 변수의 복사본이 아니라 실제 변수에...
스코프란? 식별자가 유효한 범위 함수 스코프 함수 내에 있는 변수만을 지역 변수로 본다. 따라서, if문이나, for문의 코드 블록 내의 변수는 전역 변수가 된다. (let과 const가 등장하게 된 이유 중 하나) 예 : var 블록 스코프 코드 블록 내에 있는 변수를 지역 변수로 본다. 예: let, const
JavaScrip에서 함수는 매서드와 프로퍼티를 가지는 일급 객체이다.일반 객체와 차이는 호출할 수 있다는 점, 함수 고유의 프로퍼티를 소유한다는 점이다.변수(variable)에 할당 할 수 있어야 한다.인자(parameter)로 전달 할 수 있어야 한다.반환 값(re
어떤 값이 참조되는가? - 객체 왜냐? 객체는 원시값과 달리 가변적이기 때문이다. 객체의 데이터는 힙에 저장되고, 스택에는 힙의 주소값만 참조된다. 그래서 객체를 복사한다고 해도, 값 자체를 공유하는게 아니라 주소만 공유하게 되는 것이다. > 따라서 객체 데이터를 조작한다면, 원본 객체 자체에 변형이 일어난다. 이것이 얕은 복사다. 어떤 값이 복사되는...
중첩된 배열 구조를 평탄화하는 것을 뜻한다. 즉, 중첩된 배열을 하나의 배열로 만들어준다.깊이를 인수로 전달할 수 있으며, 기본값은 1이다.map을 한 뒤에 flat을 하는 것과 같다. 다만 두개의 메서드를 호출하는 것보다 약간 더 효율적이라고 한다. 단, 1 dept
1\. 일반 함수에서의 this - 전역객체 즉 window우리가 작성하는 코드들은 대부분 다 이 window 객체의 프로퍼티가 된다.(변수와 함수를 선언하고서 앞에 window를 붙이지 않는데, 말 그대로 window는 전역 객체로 페이지 내에 있는 모든 객체를 다