유효범위 체인 - 자바스크립트 완벽 가이드 발췌 자바스크립트는 언어적으로 유효범위를 가지고 있는 언어다.변수의 유효범위란 변수가 정의된 소스코드의 집합으로 생각할 수 있다.전역변수는 프로그램 전체에 걸쳐 정의된다.지역변수는 변수가 선언된 함수 내에서 전체에 걸쳐 정의되고 또한 중첩 함수내에서도 정의된다. 우리가 지역변수를 잘 정의된 객체의 프로퍼티로 생각한다면, 변수 유효범위를 다른 관점으로 볼 수도 있다.자바스크립트의 모든 청크(전역 코드 또는 함수)는 그것과 연관된 유효범위 체인을 가지고 있다.이 유효범위 체인은 "유효 범위 안에서" 변수를 정의하는 객체의 목록 또는 체인이다.자바스크립트가 변수x의 값을 얻어야 할때(변수 해석이라 일컫는 과정) 처음 체인에 있는 객체에서 x를 찾기 시작한다.만약 이 ..
초기화 시점의 분기 - Javascript Pattern 참고 및 정리 초기화 시점의 분기는 최적화 패턴이다.어떤 조건이 프로그램의 생명주기 동안 변경되지 않는게 확실한 경우 조건을 단 한번만 확인. 예/1. 브라우저 탐지2. XMLHttpRequest 내장객체 지원여부3. DOM 엘리먼트 스타일 확인4. 이벤트 핸들러 작업 //변경이전( 이벤트 핸들러 작업 ) var utils={ addListener:function( el, type, fn ){ if( typeof window.addEventListener==='function'){ el.addEventListener( type, fn, false ); }else if( typeof document.attachEvent==='function'){ e..
함수-- Javascript Pattern 참고 및 정리 1. 자바스크립트에서 함수는 일급(first-class)객체다.2. 함수는 유효범위(scope)를 제공한다. 함수는 다음과 같은 특징을 가지는 객체다-런타임, 즉 프로그램 실행 중에 동적 생성 가능.-변수에 할당, 다른 변수에 참조 복사 및 확장가능. 몇몇 경우 제외하고 삭제 가능.-다른 함수의 인자로 전달 가능, 다른 함수의 반환값이 될 수 있다.-자기 자신의 프로퍼티 및 메서드를 가질 수 있다. 일반적으로 말하자면 자바스크립트에서 함수는 하나의 객체라고 생각하면 된다.다만 이 객체는 호출하여 실행할 수 있는 특별한 기능을 가지고 있다.함수가 객체라는 사실은 다음과 같은 new Function()생성자의 동작을 보면 명확해진다.//안티패턴//데모..
바인딩이란 무엇인가~ bind : 결속시키다, 묶다 특정객체에서 실행되게끔 고정시키는 그런 역활이라 할 수 있겠다. 즉 바인딩이란 a라는 객체가 있고, 전역함수로써 혹은 b객체에 test()라는 메서드가 있다고 치자.b.test()라고 실행되는게 보통이지만 이것을 마치 a객체에서 실행되게 ( a.test() 와 같은 효과 )하는 경우라 할 수 있다. 즉 메서드와 객체를 묶어놓는 것을 바인딩이라 하겠다. 코드 재사용 패턴부분의 메서드 빌려쓰기 부분이다. 바인딩을 위해 이용한 call(), apply()를 설명한다. 어떤 객체에서 메서드 한두개만 마음에 드는 경우가 있다. 이 메서드들을 재사용하고 싶지만 이 객체와 부모-자식관계까지 만들고 싶지는 않다. 메서드 빌려쓰기 패턴을 사용하면 된다. 이 패턴은 함수..
클로저(closure) - 자바스크립트 완벽 가이드 참고 및 정리 함수 객체와 함수의 변수가 해석되는 범위(변수 바인딩의 집합)의 조합은 컴퓨터 과학문헌에서 클로저(closure)라고 일컫는다. - 이는 함수의 변수가 유효범위 체인에 바인딩되어 있고 따라서 그 함수는 함수의 변수에 따라 닫힌다는 뜻에서 유래한 용어다. -함수 내에서 선언된 변수는 보통 함수의 실행이 끝나면 같이 소멸해야 한다. 하지만 함수의 실행이 끝나더라도 유효범위 체인상에서 함수 내의 변수가 계속 살아있어야 하는 상황이라면 내부 변수가 살아있으므로 그 함수는 닫힐 수 없다. 해당 함수가 완전히 닫힐 수 있는 경우는 함수 내에서 정의한 변수들을 참조하는 곳이 없어야 하는 상황이므로 함수의 닫힘 가능 여부는 해당 함수의 실행 종료 여부가..
Arguments객체 - 자바스크립트 완벽 가이드 참고 및 정리 함수가 호출될때 정의된 매개변수보다 더 많은 인자가 전달되면, 매개변수 이름이 붙지 않은 인자 값을 직접적으로 참조할 방법은 없다.함수 몸체 내에서 Arguments 객체는 이러한 문제에 대한 해결책이다. Arguments객체는 유사 배열 객체이고 이름이 아니라 인덱스 숫자를 통해 함수의 전달인자를 얻어올 수 있다.만약 전달인자 x하나만을 받는 함수 f를 정의한다고 가정해보자.이 함수를 두개의 전달인자로 호출한다면, 함수 내에서 1번째 전달인자는 매개변수 이름 x 또는 arguments[0]을 사용해 접근가능하다. 배열처럼 length속성을 가지고 있는데 이는 arguments가 포함하고 있는 요소의 수를 나타낸다.2개의 전달 인자로 호출된..
this의 본질 - 자바스크립트 완벽가이드 참고 및 정리 컨텍스트(context) 자바스크립트 코드 실행시 인터프리터가 new키워드 or 리터럴 표기법 등을 만나면 heap메모리에 만들어지는 별도의 공간. new 키워드 - ex) new Person() 리터럴 표기법 ex) var obj={} , arr=[]; heap 메모리 - 프로그램 동작 시 동적으로 할당되는 메모리를 위해 지정된 영역. 함수 호출에는 전달 인자외에도 호출 컨텍스트(invocation context)값이 포함되는데, 이는 this 키워드의 값이다. 어떤 함수가 객체 상에서 호출되거나 객체를 통해 호출될 때, 이 객체는 호출 컨텍스트이거나 호출된 함수에서 this값이다. 즉 this는 컨텍스트를 가리키되 실행 컨텍스트를 가리킨다. 더..
- Total
- Today
- Yesterday
- IntrinsicElements
- svg icon font
- react
- 아이콘 폰트 만들기
- for of 구문
- Intrinsic
- 내장요소
- 자바스크립트
- anime.js
- git
- react-router-dom
- 태그
- git checkout -b
- Angular
- Aptana
- 반복문
- 코도바
- svg 폰트
- Vue3
- JsDoc
- vue-router
- 앵귤러
- RefreshToken
- React.StrictMode
- svg모션
- cordova
- CSS
- 리프래시토큰
- icon font
- interceptors
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |