moonscode 236

JavaScript // 개념 // 프로토타입(Prototype)

업데이트 :: 2018.03.13 프로토타입어디에 사용하나요 ?생성원리Contructor(생성자) 자격 부여Prototype Object 생성 및 연결Prototype Object & Prototype LinkPrototype Object 자세히Prototype Link ( = __proto__) 자세히Prototype ChainPrototype & Class프로토타입JS는 객체기반언어로, 클래스가 없습니다.대신 프로토타입(Prototype) 이라는 것이 존재합니다.JS가 프로토타입 기반 언어라고 불리는 이유입니다.참고로 최근의 ECMA6 표준에서는 Class 문법이 추가되었으나, JS가 클래스기반으로 바뀌었다는 것은 아닙니다. JS를 클래스로 작성하더라도 생성된 객체는 여전히 프로토타입기반입니다.어디에..

JavaScript // 알고리즘 // 동적반복문 (DynamicLoop)

JS, 나만의 알고리즘동적 반복문 (Dynamic loop) 추가하기2018.03.26 JS, 나만의 알고리즘동적 반복문 (Dynamic loop) 추가하기동적 반복문 (상황설명)정적 반복문 처리동적 반복문 추가 (방법1 - 전체갯수와 영역을 이용하기)동적 반복문 추가 (방법2 - 트리구조 반복문, Callback이용하기)동적 반복문 (상황설명)N * N * N 의 Loop를 만들 수 있는가 ?만약 동적인 속성이 여러개를 가지는 객체가 있다고 해봅시다.자동차라는 객체가 색상, 크기, 줄무늬이런 3가지 속성을 가지고 있습니다. 색상은 [Red, Green, Blue] 일 수 있고, 크기는 [소형, 중형, 대형] 일 수 있고, 줄무늬는 [None, Stripe, Dot] 이렇게 있습니다. 각각의 모든 속성을..

JavaScript // 개념 // 프로퍼티(Property)

업데이트 :: 2018.03.16 프로퍼티(Property)속성값 이해하기valueget & setenumerable (열거 할 수 있는)wriatable (쓸 수 있는)configurable (구성할 수 있는)Property 속성설정하기definePropertygetOwnPropertyDescriptorget&set의 getOwnPropertyDescriptor클래스 메소드는 Prototype프로퍼티(Property)'Property' 는 속성 이란 뜻으로, JS에서는 객체 내부의 속성을 의미합니다.// 객체 생성 var ob = {a: 1}; // property 접근하기 ob.a; // => 1 // property 수정하기 ob.a = 0; ob.a; // => 0; // property 추가하기..

JavaScript // 개념 // 호이스팅(Hoisting)

업데이트 :: 2018.01.05 선언과 정의변수 호이스팅함수 호이스팅선언과 정의호이스팅은 선언과 정의의 개념에 밀접한 연관이 있습니다.일부 언어는 선언(declaration) 정의(definition)를 명확히 구분합니다.선언 :: 변수를 선언한다는 것은 식별자를 주어서 그 존재를 알리는 것정의 :: 변수를 정의한다는 것은 선언과 함께 값도 부여하는 것자바스크립트에서는 모든 변수를 동시에 값이 주어지므로 두 용어를 구분하지 않습니다. 명시적으로 정하지 않으면 undefined가 암시적으로 적용됩니다.var a; // 선언 var b = 'b'; // 선언 + 정의 let c; // 선언 let d = 'd'; // 선언 + 정의 // 함수의 선언이 이루어진 예입니다. function funcA() { ..

javaScript // 개념 // 클로저(Closure)

업데이트 :: 2018.01.25 클로저 ( Closure )클로저의 스코프체인클로저 예제예제 JS예제 jQuery클로저 규칙기억한다 => 외부 Scope 참조는 계속됩니다.기억한다 =>외부 Scope 참조, 값을 저장하는게 아닙니다.클로저 예상버그클로저 ( Closure )사람들은 보통 클로저를 다음과 같이 말합니다.자유 변수를 기억하는 함수스코프를 기억하는 함수환경(lexical environment)를 기억하는 함수클로저는 외부함수(내부함수 감싸고 있는)내 스코프 변수에 접근할 수 있는 또한, 그것을 기억하고 있는 내부 함수를 말합니다.말이 어려우니 예제가 도움이 될 것입니다.클로저의 스코프체인클로저는 3가지 스코프 체인 (scope chain)을 가집니다.클로저는 자신에 대한 접근 (자신의 블록내..

JavaScript // 개념 // 스코프(Scope)

업데이트 :: 2018.01.24 스코프 ( Scope )스코프 레벨01. 함수 레벨 스코프02. 블록 레벨 스코프전역 스코프전역스코프 의존 예제단일 객체를 이용한, 전역스코프 의존방지함수를 이용한, 전역스코프 의존방지정적 스코프와 동적 스코프스코프와 존재스코프 체인사각지대 관리하기암시적 전역변수와 스트릭트 모드스코프 ( Scope )"Scope" 는 범위라는 뜻을 가지고 있으며,JS에서의 Scope는 변수 혹은 함수가 가지는 범위를 의미Scope는 변수와 상수, 매개변수 (데이터) 가 언제 어디서 정의되는지 결정함수 매개변수가 함수 바디 안에서만 존재하는 것도 스코프의 예 입니다.function funcA(x) { return x + 3; } funcA(5); // 8 x; // x is not def..