목록전체 글 (68)
현인
내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다. ECMAScript 사양에 등장하는 이중 대괄호로 감싼 이름들이 내부 슬롯과 내부 메서드다. 개발자가 직접 접근할 수 있는 공개된 프로퍼티는 아니다. 일부 내부 슬롯과 내부 메서드에 한하여 간접적으로 접근할 수 있다 [[Prototype]]이라는 내부 슬롯을 __proto__를 통해 간접적으로 접근할 수 있다. 자바스크립트 엔진의 내부 로직 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체 자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본 값으로 자동 정의한다. 프로퍼티 어트리뷰트는 내부 슬롯에..
var 키워드로 선언한 변수의 문제점 var 키워드로 선언된 변수는 다음과 같은 특징이 있다. 1. 변수 중복 선언 허용 var 키워드로 선언한 변수는 중복 선언이 가능하다. 초기화문이 있는 경우 var 키워드가 없는 것처럼 동작 초기화문이 없는 경우 무시된다 에러 발생 X 동일한 이름의 변수가 이미 선언되어 있는 것을 모르고, 변수를 중복 선언하면서 값까지 할당했다면 의도치 않게 먼저 선언된 변수 값이 변경되는 부작용이 발생한다. 2. 함수 레벨 스코프 var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정한다. 함수 외부에서 var 키워드로 선언한 변수는 코드 블록 내에서 선언해도 모두 전역 변수가 된다. 예를 들어 반복문이나 조건문 같은 코드 블록 내에서 선언했을 때 함수 레..
MST(Minimum Spanning Tree) - 최소 신장 트리 Spanning Tree(신장 트리)란? 그래프 내의 모든 정점을 포함하는 트리 단, 최소 연결 그래프 형태이다. n개의 정점을 가지는 그래프에서 n-1개의 간선으로 연결된 트리이다. 하나의 그래프에는 여러 개의 신장트리가 존재한다. Minimum Spanning Tree(최소 신장 트리)란? 신장 트리 중에서 사용된 간선들의 가중치 합이 가장 작은 신장 트리 MST 구현 방법 크루스칼(Kruskal) 프림(Prim) 크루스칼 (Kruskal) 간선을 기준으로 접근한 방법 모든 간선을 가중치가 낮은 간선을 우선으로 정렬한 후에 가중치가 가장 낮은 간선부터 하나 씩 MST 집합에 추가를 한다 이 때, 사이클을 형성하는지 검사를 한다 사이클..