<!DOCTYPE html>
<html lang="kr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//prototype:유전자
function 기계(이름) {
this.name = 이름;
this.age = 15;
this.sayHi = function () {
console.log('안녕하세요' + this.name + '입니다.');
}
}
기계.prototype.gender = '남';
var 학생1 = new 기계('Park');
var 학생2 = new 기계('Kim');
학생1.toString();
var arr = [1, 2, 3];
var obj = { name: 'kim' };
var obj = new Object();
// var arr = new Array(1, 2, 3);
console.log(arr.sort());
console.log(arr.push(123123, 123, 123, 1));
var 학생1 = new 기계();
console.log(학생1.__proto__); //내 부모 유전자를 찾고자할 때
console.log(기계.prototype);
var 부모 = { name: 'Kim' };
var 자식 = {};
자식.__proto__ = 부모;
console.log(자식.name);
//문제
//0. 오브젝트 자료 여러개를 만들고 싶습니다.
function 기계(이름, 나이) {
this.name = 이름;
this.age = 나이;
this.sayHi = function () {
console.log('안녕' + this.name + '이야.');
}
}
var 학생1 = new 기계('Kim', 20);
var 학생2 = new 기계('Park', 21);
var 학생3 = new 기계('Lee', 22);
//1. 다음 코드의 출력 결과는 무엇일까요?
function Parent() {
this.name = 'Kim';
}
var a = new Parent();
a.__proto__.age = 30;
console.log(a.age)
//30
//2. 함수가 안들어가요 엉엉
function Student(이름, 나이) {
this.name = 이름;
this.age = 나이;
}
Student.prototype.sayHi = () => {
console.log('안녕 나는 ' + this.name + '이야');
}
var 학생1 = new Student('Kim', 20);
학생1.sayHi(); //왜 이 코드가 제대로 안나오죠?
// this 값은 window / function(){}으로써야함
var 오브젝트 = { sayHi: () => { console.log(this) } }
오브젝트.sayHi();
//3. 모든 array에 적용할 수 있는 함수를 직접 새로 만들려면 어떻게 해야할까요?
Array.prototype.remove3 = function () {
for (var i = 0; i < this.length; i++) {
if (this[i] === 3) {
this.splice(i, 1);
}
}
};
var arr = [1, 2, 3, 1, 2, 4, 5, 2, 3];
arr.remove3();
console.log(arr); //[1,2]
</script>
</body>
</html>
Getter, Setter 사용법 (0) | 2021.09.13 |
---|---|
객체지향 class를 복사하는 extends / super (0) | 2021.09.07 |
Object 생성기계인 constructor (0) | 2021.08.26 |
Spread,rest 파마미터 (0) | 2021.08.26 |
함수 arguments 말고 rest 파라미터 (0) | 2021.08.25 |