본문 바로가기

This

(3)
[Javascript] call, apply, bind 함수 호출 방식과 관계없이 this를 지정할 수 있는 call, apply, bind 메서드에 대해 알아보자. call call 메서드는 모든 함수에서 사용할 수 있으며, this를 특정값으로 지정할 수 있다. const mike = { name : "Mike", }; const tom = { name : "Tom", }; function showThisName(){ console.log(this.name); } showThisName(); // ? showThisName 메서드를 호출했을 때 아무것도 뜨지 않는다. 여기에서 this는 window를 가리킨다. window.name이 빈 문자열이기 때문에 아무것도 뜨지 않는 것이다. showThisName.call(mike); // Mike showThi..
[Javascript] 객체(Object) 객체에는 key와 value로 구성된 프로퍼티가 들어간다. 프로퍼티는 쉼표로 구분한다.마지막 쉼표는 없어도 되지만 있는 것이 수정, 삭제, 이동할 때 용이하다.const superman = { name : 'clark', age : 33,} 접근superman.name // 'clark'superman['age'] // 33추가superman.gender = 'male';superman['hairColor'] = 'black';삭제delete superman.hairColor;단축 프로퍼티const name = 'clark';const age = 33;const superman = { name : name, age : age, gender : 'male',}객체의 nam..
[C++] OOP - this 포인터 this 포인터는 class의 특징 때문에 등장한 포인터이다. 동일 클래스를 이용해 여러 개의 인스턴스가 생성될 때 멤버 변수의 경우 각각 메모리를 할당받아 사용하지만 멤버 함수의 경우 메모리 공간을 공유하기 때문에 이를 구분하기 위해 사용한다. 예를 들어 Test라는 클래스가 존재하는데 test1, test2라는 두 개의 클래스를 생성했다고 하면 멤버변수 num은 test1, test2 각각 독립된 메모리를 할당받지만 멤버 함수 printNum은 메모리 주소를 공유하고 있기 때문에 printNum을 호출할 경우 어떤 객체에서 호출하였는지 알기 어렵다. 이러한 문제를 해결하기 위해 등장한 것이 this 포인터이다. this 포인터는 멤버 함수를 호출한 객체 자신을 가리키는 포인터가 된다. 멤버 함수가 호..