전체 글

프론트엔드 지식을 다 먹어버리겠다는 의지
● 오늘 공부한 것 클래스 다시 정리하기 this [class 에서 클래스 필드라는건 왜필요하니? 도댁체가!!!] 먼저 질문을 하기 이전에, 저는 클래스 필드의 작동원리부터 잘 알고 있지 못했기 때문에, 정리를 해봅니다. 클래스 필드는 클래스의 정적인 멤버 변수이며, 인스턴스와 상관없이 클래스 자체의 ddaeunbb.tistory.com ● 내가 놓치고 있던 것 class 내부에서 프로토타입 메서드의 this와 정적메서드의 this차이 - 프로토타입의 메서드의 this는 프로토타입 메서드를 호출한 인스턴스이다. 하지만, 정적 메서드의 this는 클래스를 이야기한다. 메서드는 [[HomeObject]]라는 내부슬롯을 가진다. [[HomeObject]]는 메서드 자신을 바인딩하고 있는 객체의 프로토타입을 ..
● this 키워드 만약 메서드가 있다면, 메서드가 속한 객체의 프로퍼티를 가져오고 싶을 때, 내부에서 참조할 방도가 업다.. 따라서 생기게 됐다. 약간의 손가락같은 포인터 개념이라고 하면 좋을 것 같다. 자바스크립트 내에서 this는 '누가 나를 불렀느냐'를 뜻한다고 한다. this는 즉, 선언이 아닌 호출에 따라 달라진다는게 가장 중요하다. 그럼 각 상황별로 this가 어디에 바인딩되는지 알아보자. 함수 호출 방식 this 바인딩 일반 함수 호출 전역객체 메서드 호출 메서드를 호출한 객체 생성자 함수 호출 생성자 함수가 생성할 인스턴스 Function.prototype.apply/call/bind에 의한 간접 호출 메서드의 첫번째 인수로 전달한 객체 전역에서 this를 사용한다면, 전역을 가르키게 ..
먼저 질문을 하기 이전에, 저는 클래스 필드의 작동원리부터 잘 알고 있지 못했기 때문에, 정리를 해봅니다. 클래스 필드는 클래스의 정적인 멤버 변수이며, 인스턴스와 상관없이 클래스 자체의 속성을 나타낸다. 고 합니다. 이게 무슨말인지 잘 모르겠더군요.. 그래서 이게 왜 필요한가에 대한 생각을 생각해봤습니다. 인스턴스의 프로퍼티로 변수나 메서드를 지정할 수 있게 됐습니다. 그럼 클래스의 자체의 변수는 못정하나? 메서드는 정적메서드라고하면••• 변수는? 클래스 자체의 속성..이라.. 그럼 실험을 해봅시다. class Person { name = "daeun"; constructor(age) { this.age = age; } whatisyour = function () { return this.name; }..
Js에서 object 생성자 함수 호출해서 만든 객체랑, 객체 리터럴로 만든 객체는 new.target을 확인하는 부분이 다르대 그거에 대해 설명해줘 JS에서 Object 생성자 함수를 호출하여 객체를 생성하는 경우, 생성자 함수 내부에서 new.target을 사용하면 new 연산자를 통해 생성자 함수가 호출된 경우에는 생성자 함수를, 함수로서 호출된 경우에는 undefined를 반환합니다. 예를 들어, 다음과 같이 Object 생성자 함수를 호출하여 객체를 생성하면 new.target은 Object 생성자 함수를 반환합니다. function Person(name) { if (new.target === Person) { this.name = name; } else { throw new Error("You..
프로퍼티처럼 모양은 비슷하지만, 일반적인 객체 프로퍼티와는 다른 동작을 하기 때문에, 프로퍼티라고 명칭하지 않는 것이다. 흠••• 참 거지같군요. 대충 비슷하게는 생겼으나, 직접적인 접근이 안되고 좀 특이하게 돌아가서 그렇다고 보겠읍니다.
● 오늘 공부한 것 객체지향프로그래밍과 특징 #객체지향프로그래밍 ● 절차지향 프로그래밍 객체지향 프로그래밍이 있기 전에, 절차지향 프로그래밍이 있었다. 초기의 C, 포트란 같은 언어들은 객체 지향의 개념이 없는 절차적 언어였다. 논리적 구조가 절차적으 ddaeunbb.tistory.com 프로토타입 [19장 프로토타입] ● 객체 지향 프로그래밍 자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다. 자바스크립트를 이루고 있는 거의 "모든 것" ddaeunbb.tistory.com __proto__가 없어진 이유 #__proto__은 왜 없어졌을까? __proto__는 사실 더 이상 권장되지 않는 기능이다. 최근 관련된 웹 표준에서 사라졌을 수 있..
김코린이
김코린이의 성장일기