본문 바로가기

전체 글158

[Javascript] 프로토타입 상속 프로토타입이란? ✔️ 다른 객체의 원형이 되는 객체 ? ✔️ 객체들이 기본적으로 가지고 있는 프로퍼티라고 생각하면 쉬운 것 같다. ✔️ 객체에서 프로퍼티를 읽으려고 하는데 없으면 이 프로토타입에서 프로퍼티를 찾게 된다. ✔️ 객체의 프로퍼티가 존재하면 프로토타입까지 탐색하지 않고 멈춘다. hasOwnProperty 는 프로토타입에서 프로토타입의 존재 유무를 알려주는 메소드이지만 개발자가 먼저 선언해버리면 그 코드가 우선적으로 발현된다. const user = { name:'Mike', hasOwnProperty:function(){ console.log('haha'); } }; user.hasOwnProperty(); //haha 프로토타입 상속이란? ✔️ __proto__를 통해 다른 객체의 프로퍼티를.. 2021. 12. 29.
[Javascript] 프로퍼티 getter 와 setter getter와 setter를 왜 쓰는걸까? ✔️ 프로퍼티는 데이터 프로퍼티와 접근자 프로퍼티로 나뉜다. ✔️ 접근자 프로퍼티의 본질은 함수이기 때문에 데이터 프로퍼티와는 조작 방법이 다르다. ✔️ 접근자 프로퍼티는 getter와 setter를 이용해 조작해 접근할 수 있다. ➖ getter : 특정 값을 조회할 때 실행되는 함수 ➖ setter : 특정 값이 변경되어 질 때 실행되는 함수 let user = { name:'John', surname: 'Smith', //기본적으로 값을 조회할 때 사용한다. get fulName(){ return `${this.name} ${this.surname}`; }, //value에 새로운 값이 들어가 변경되면 아래의 함수가 실행된다. set fulName(valu.. 2021. 12. 28.
[Javascript] 프로퍼티 플래그와 설명자 프로퍼티 플래그 ✔️ 객체 프로퍼티는 값과 함께 플래그(flag)라 불리는 특별한 속성 세 가지를 갖는다. ➖ writable : true 이면 값을 수정할 수 있다. ➖ enumerable : true 이면 반복문을 사용해 나열할 수 있다. ➖ configurable : true 이면 프로퍼티 삭제나 플래그 수정이 가능하다. let user = { name : 'John' } let discriptor = Object.getOwnPropertyDescriptor(user, 'name'); console.log(JSON.stringfy(descriptor, null,2)); /* property descriptor: { "value": "John", "writable": true, "enumerable".. 2021. 12. 28.
[Javascript] Object - new 연산자와 생성자 함수 생성자 함수 ✔️ 함수 이름의 첫 글자는 대문자 ✔️ 반드시 'new' 연산자를 붙여 실행 ✔️ 재사용할 수 있는 객체 생성 코드를 구현. ✔️ 객체 리터럴{...} 을 사용하면 쉽게 객체를 얻을 수 있지만 유사한 객체를 여러개 만들어야하는 상황에서 유용. ✔️ function User(name){ this.name = name; this.isAdmin = false; } let user = new User('young'); console.log(user.name); //young console.log(user.isAdmin); //false 생성자와 내 메서드 function User(name){ this.name = name; this.sayHi = function(){ alert(this.name).. 2021. 12. 28.
[Javascript] Object - 메서드와 this 메서드 만들기 ✔️ 객체의 프로퍼티에 함수를 할당할 수 있는데 그것을 메서드라고 부름. ✔️ 이미 정의된 함수를 이용해서 만들수도 있다. //객체에 메서드 추가하기 let user = { name:"John", age:30 }; user.sayHi = function(){ alert('hi'); } user.sayHi(); //hi //이미 선언된 함수를 메서드로 등록하기 let user = { ... } function sayHi(){ alert('hi'); } user.sayHi = sayHi; user.sayHi(); //hi 메서드 단축 구문 //일반적인 객체 내 메서드 선언 user = { sayHi : function(){ alert('hi'); } } //단축구문을 이용해 메서드 선언 use.. 2021. 12. 27.
[Javascript] Object 객체란? ✔️ 객체는 프로퍼티로 구성되어있다. ✔️ 프로퍼티는 키와 값으로 구성되어있다. ✔️ 프로퍼티늬 값에서는 모든 자료형이 허용된다. 빈 객체(빈 서랍장)을 만드는 방법 //객체 생성자 문법 let user = new Object(); //객체 리터럴 문법 let user = {}; 리터럴과 프로퍼티 객체 리터럴 기본형 let user = { name : 'John', age : 12 } 객체 호출 console.log(user.name) //joy console.log(user.age) //27 객체 추가 user.isAdmin = true; console.log(user.isAdmin); //true 객체 삭제 delete user.age; console.log(user.age); //undef.. 2021. 12. 27.
반응형