728x90
1. 객체(object)
기본 데이터 타입을 제외한 나머지를 모두 객체라고 볼수 있다.
함수, 배열, 정규표현식.... 객체는 key
프로퍼티 : 객체의 상태를 나타내는 값
메서드 : 프로퍼티를 참조하고 조작할 수 있는 동작
const perosn = {
name: 'Lee',
age: 20
};
let counter = {
num: 0, //프로퍼티
increase: function(){ //메서드
this.num ++;
}
}
//중괄호 내에 프로퍼티를 정의하지 않으면 빈 객체 생성
let empty ={};
//객체안에 객체를 넣을수 있다.
let student = {
list:{a:10, b:20, c:30}, //객체
pring: function(){
console.log("나는 프린트");
}
}
전역변수는 안쓰는게 좋지만 불가피하게 사용하게 된다면 하나의 객체를 전역변수로 만들고 객체의 속성으로 변수를 관리
첫번째 방법
let myObj = [];
myObj.cal = {a:null, b:null};
myObj.test = {c:null, d:null};
myObj.cal.a = 10;
myObj.cal.b = 20;
function sum(){
return myObj.cal.a + myObj.cal.b;
}
두번째 방법
let korea = {
a:500,
b:300,
seoul:{
a:100,
b:20,
c:50,
},
};
let circle = {
radius : 5,
getDiameter : function(){
return 2* this.radius;
}
}
객체의 프로퍼티에 접근하는 방법
.(온점)을 이용, []이용
console.log(circle.radius);
console.log(circle["radius"]);
let obj = {a:10,b:20,c:30};
for (const key in obj) {
console.log(key);
}
for (const val in obj) {
console.log(obj[val])
}
for(i in obj){
console.log("key : " + i + " value : " + obj[i]);
}
생성자 : 첫글자는 대문자로 쓰는게 관례이다. 반드시 new연산자를 써서 실행한다.
function User(name){
//this = {};
this.name = name;
this.isCheck = false;
//return this;
}
인스턴스 : 클래스에 의해 메모리에 저장된 실체
객체가 메모리에 저장되어 실제로 존재하는것
function Person(name, age, city){
this.name = name;
this.age = age;
this.city = city;
this.information = function(){
console.log("나는 " + this.name + " 나이는 " + this.age + " 사는곳은 " + this.city);
}
}
let p1 = new Person("사자",19,"에버랜드");
let p2 = new Person("호랑이",20,"내 앞마당");
p1.information();
p2.information();
728x90
'개발 > html, css, js' 카테고리의 다른 글
[JavaScript] 버블정렬, 선택정렬 (0) | 2022.05.31 |
---|---|
[JavaScript] Class (0) | 2022.05.30 |
[JavaScript] 고차함수 (0) | 2022.05.29 |
[JavaScript] 월남뽕 게임(카드게임) (0) | 2022.05.27 |
[JavaScript] 야구게임 만들기 (0) | 2022.05.26 |