js 클로저 클로저란 실행 컨텍스트 스택에서 제거된 후 렉시컬 환경이 보통 제거되지만,사라져야할 렉시컬 환경의 식별자를 외부에서 참조하고있다면렉시컬 환경이 유지됨 더 쉽게 말하면a 라는 함수내부에 x변수가 있고,a 함수가 종료되었으면 x변수도 정리되어야함단, x변수를 외부에서 참조하고있다면 정리되지 않음 실행 컨텍스트를 알아야 이해가 더 쉬울 수 있음https://yamyam-naengmyeon-donkats.tistory.com/114 js 실행컨텍스트소스코드의 타입 ㄱ. 전역코드 - 최상위 코드인 전역 스코프를 생성 후, 전역 객체와 연결 - 이를 위해 전역 코드가 평가되면 전역 실행 컨텍스트가 생성됨 ㄴ. 함수코드 - 함수마다의 지역 스코yamyam-naengmyeon-donkats.tistory.com클로저 .. 2023. 2. 23. js 일급객체(함수) 일급객체의 조건 - 무명의 리터럴로 생성할 수 있음 - 변수나 자료구조(객체,배열 등)에 저장할 수 있음 - 함수의 매개변수에 전달할 수 있음 - 함수의 반환값으로 사용할 수 있음 자바스크립트의 함수는 위의 조건에 부합하므로 일급 객체이며객체와 동일하게 함수를 사용할 수 있음함수의 프로퍼티 어트리뷰트const getSum = function(a,b){ return a+b;};Object.getOwnPropertyDescriptors(getSum);// 이미지 참고프로퍼티 어트리뷰트는 위와 같이 존재함 2023. 2. 15. js 생성자함수 객체생성방법 자바스크립트에서 객체를 생성하는 가장 쉬운 방법은 리터럴을 이용한 방법이라 생각함let a = {a:1,b:2} 이외에도 - Object.create - Object 생성자 함수를 이용할 수 있음 Object 생성자함수는 빌트인 객체이며 웹브라우저 콘솔에 테스트 해보면 쉽게 확인 가능기타 생성자 함수 및 작성법 Object 말고도 String, Number 타입의 데이터도 생성자 함수를 이용해 생성할 수 있으며,직접 생성자 함수를 작성할 수 있음 작성예시const Person = function (name) { this.name = name; return this;}const p1 = new Person("abc");console.log(p1) // Person {name:"abc"}.. 2023. 2. 15. js 재귀함수 & 콜백함수 재귀함수 콜백함수 2023. 2. 12. [vue] 전역 컴퍼넌트 등록이 안됨 (If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.) vue3에서는 아래처럼 전역컴퍼넌트를 등록한다. 그런데 자꾸 AbcComponent를 커스텀 엘리먼트로 인식을 하며 커스텀 엘리먼트를 허용하는 옵션을 넣으라 함 전역등록 자체가 잘못됐다고 생각하는데 이유가 뭔지 모르겠어서 이참에 한 번 파고들어 봄 먼저 공식문서 부터 봄 app.component() api 문서가 있을까 싶어 찾아봤고 있었음 https://vuejs.org/api/application.html#app-component Application API | Vue.js vuejs.org app.component로 전역 컴퍼넌트를 등록할 때 사용했던 컴퍼넌트 이름을 인수로 이용해 컴퍼넌트를 반환받아옴 저렇게 반환받아서 변수에 저장 후, 사용하면 문제가 없긴함 근데 같은 공식문서의 다른 페이지에서는.. 2023. 1. 17. [vue] 가상돔 가상돔이란 실제 돔에서 처리하는 것이 아닌 가상의 돔을 만들어 메모리에서 미리 처리하고 실제 돔과 비교하여 처리&적용하는 것을 말함 실제 돔을 우리가 직접 다루게 된다면, 실제 브라우저에선 우리가 조작한 돔의 노드를 찾고, 조작한 대로 돔을 수정한 후에, 다시 부모와 자식 요소들을 페인팅해주어야 함. " - 돔은 트리구조로 되어 있어 구조가 복잡해질수록 탐색비용이 늘어남 - 화면의 돔이 수정될때마다 브라우저는 전체 돔 트리의 변경사항을 수정해야함 " 허나, 가상돔을 사용한다면 실제 돔과 메모리에서 미리 처리된 가상의 돔을 비교하여 차이가 있는 돔만 리페인팅 해주어 실제 돔의 변경을 최소화 해줌 vue에서는 MVVM 패턴을 사용함 MVVM패턴에서는 돔에 직접접근 하지 않고, 모델(데이터 객체), 뷰(화면).. 2023. 1. 14. 이전 1 2 3 4 5 6 7 ··· 15 다음