Prototype6 [JavaScript]프로토타입의 프로퍼티 프로토타입의 프로퍼티 프로토타입 확장에서 프로토타입 객체인 Object.prototype에 새로운 함수를 추가하는 방법을 소개하였습니다. [JavaScript]프로토타입 확장(prototype extend) 프로토타입 확장 지금까지 프로토타입을 주제로 작성된 포스팅 내용을 정리하자면, 모든 객체(숫자, 문자열, 객체, 배열, 함수 등)는 내부 프로퍼티인 [[Prototype]]를 가지고 있습니다. 프로토타입 developer-talk.tistory.com 즉, 프로토타입 객체도 일반 객체처럼 동적으로 프로퍼티를 추가 또는 삭제할 수 있습니다. 다음 예제는 최상위 프로토타입 객체인 Object.prototype에 두 개의 프로퍼티를 추가합니다. // address 프로퍼티 추가(문자열) Object.pro.. JavaScript/함수 2022. 7. 6. [JavaScript]프로토타입 확장(prototype extend) 프로토타입 확장 지금까지 프로토타입을 주제로 작성된 포스팅 내용을 정리하자면, 모든 객체(숫자, 문자열, 객체, 배열, 함수 등)는 내부 프로퍼티인 [[Prototype]]를 가지고 있습니다. 프로토타입 관련 포스팅(클릭하면 해당 포스팅으로 이동합니다.) ☞ [JavaScript]프로토타입(Prototype)이란? ☞ [JavaScript]프로토타입 체인(Prototype Chain) ☞ [JavaScript]함수의 프로토타입(prototype in function) [[Prototype]]는 현재 객체의 상위 객체를 참조하며, 이 상위 객체를 프로토타입이라고 말합니다. 그리고 프로토타입 체인으로 상위 객체를 계속해서 참조했을 때, 프로토타입 체인의 종점은 Object.prototype 객체입니다. 즉,.. JavaScript/함수 2022. 7. 6. [JavaScript]함수의 프로토타입(prototype in function) 함수의 프로퍼티 JavaScript에서 함수는 객체이지만, 일반 객체와는 다르게 함수 객체만의 표준 프로퍼티가 존재합니다. 이번 포스팅에서는 함수의 내부 프로퍼티인 [[Prototype]]와 다른 객체에 존재하지 않는 prototype 프로퍼티에 대해 설명합니다. 함수의 표준 프로퍼티인 length, name에 대해서는 아래 포스팅에서 자세하게 설명합니다. [JavaScript]함수의 length, name 프로퍼티 함수는 특별한 객체 JavaScript에서 함수는 객체입니다. 객체와 마찬가지로 함수에는 프로퍼티와 함수가 존재하며, 함수를 변수, 배열, 객체에 할당하거나 다른 함수에 인수로 전달할 수 있습니다. developer-talk.tistory.com 프로토타입에 대한 내용은 아래 포스팅에서 자세.. JavaScript/함수 2022. 7. 5. [JavaScript]프로토타입 체인(Prototype Chain) 프로토타입 체인(Prototype Chain) JavaScript에서 변수를 객체(배열, 객체, 함수 등)로 선언하면 상위 객체의 프로퍼티를 호출할 수 있는데, 여기서 말하는 상위 객체를 프로토타입이라고 말합니다. var arr = []; // 배열을 할당했으므로 프로토타입은 Array var obj = {}; // 객체를 할당했으므로 프로토타입은 Object console.dir(arr); console.dir(obj); [실행 결과] 그리고 상위 객체의 프로퍼티를 호출할 수 있도록 해주는 메커니즘을 프로토타입 체인(Prototype Chain)이라고 말합니다. var arr = []; var obj = {}; arr.push(1); // Array는 push() 함수를 사용할 수 있음 obj.push.. JavaScript/함수 2022. 7. 5. [JavaScript]함수와 this(Function and this) 전역 객체 JavaScript 함수 내부에서 this를 사용한 경우 this는 전역 객체에 바인딩되며, Chrome과 같은 브라우저에서 JavaScript 코드를 실행하는 경우 전역 객체는 window 객체입니다. 다음 예제를 Chrome 개발자 도구 콘솔 창에서 실행 후 함수 내부의 this가 어떻게 바인딩되는지 확인해봅시다. function show() { console.log(window === this); } show(); [실행 결과] Chrome과 같은 브라우저에서 전역 객체는 window 객체라고 설명했으며, 함수 내부의 this는 전역 객체에 바인딩된다고 언급했습니다. 즉, 브라우저에서 함수 내부의 this는 window 객체입니다. 다음은 함수가 아닌 변수를 선언하는 경우에 대해 알아봅시.. JavaScript/함수 2022. 7. 4. [JavaScript]프로토타입(Prototype)이란? 객체(Object) JavaScript의 프로토타입을 설명하기 전에 객체에 대해 살펴봅시다. JavaScript는 배열, 문자열 심지어 함수도 객체로 간주합니다. 다음 예제는 배열 생성 후 요소 추가, 삭제 그리고 요소의 개수를 출력합니다. const array = [1, 2, 3]; array.push(4); console.log(array); console.log(array.length); array.pop(); console.log(array); 실행 결과 array라는 변수를 대괄호로 초기화했으므로 array는 배열로 정의됩니다. 따라서 push()와 pop() 함수 그리고 length 프로퍼티를 사용할 수 있습니다. 그렇다면, 변수를 빈 객체로 초기화 후 push() 함수를 사용하면 어떻게 동작.. JavaScript/객체 2021. 12. 27. 이전 1 다음