-
객체 Objectjavascript 2023. 3. 28. 19:57반응형
* 객체 Object
- 객체는 {}로 작성
- 키 : 값 으로 구성된 프로퍼티
- 각각의 프로퍼티는 ,로 구분함
const superman = { name : 'clack', age : 30, }
* 객체 접근 추가
- . 점을 사용
- [ ] 괄호 사용
const superman = { name : 'clack', age : 30, } /*접근*/ superman.name//clark superman['age']//30 console.log(superman)//Object{name: 'clack', age: 30} //--------------------------------------------------------------------------------------------- /*추가*/ superman.gender='male'; superman.[hairColor]='black'; console.log(superman)//Object{name: 'clack', age: 30, , gender: 'male', hairColor: 'black'}
* 객체 삭제 : 삭제하고 싶은 프로퍼티 앞에 delete 붙이기
const superman = { name : 'clack', age : 30, } delete superman.age; console.log(superman)//Object{name: 'clack'}
* object 단축 프로퍼티
//만약 이런 값과 const name='clark'; const age = 33; //이런 객체가 있다면 const superman = { name : name, age : age, gender : 'male', } //이렇게 단축 가능 const superman = { name, age, gender : 'male', }
/*예시 : 이름과 나이를 받아서 객체를 반환하는 함수*/ function makeObject(name, age){ return{ name : name, age : age, hobby : 'football', } } //축약 가능 function makeObject(name, age){ return{ name, age, hobby : 'football', } } const Mike = makeObject('Mike', 30); console.log(Mike);//Object{name: 'Mike', age: 30, hobby: 'football'}
* 프로퍼티 존재 여부 확인 in
const superman = { name : name, age : age, } superman.birthDay;//undefined //이때 in 연산자를 사용하면 프로퍼티가 있는지 확인 가능 : 어떤 값이 나올지 확신할 수 없을 때 in 사용 'birthDay' in superman;//false 'age' in superman;//true //------------------------------------------------------------------------------------------- const Mike = { name : 'Mike', age : 30, } const Jane = { name : 'Jane', } function makeObject(name, age){ return{ name, age, hobby : 'football', } } console.log('age' in mike);//true console.log('birthDay' in mike);//false function isAdult(user){ if(user.age < 20){ return false; }else{ return true; } } console.log(isAdult(Mike));//true console.log(isAdult(Jane));//true : age가 없어 if(undefined<20)이 되고 이것은 조건에 충족이 안되서 false가 되고 else 구문 true를 반환 //Jane은 false가 나와야하므로 다시 식을 고치면 function isAdult(user){ if(!('age' in user) ||//user에 age가 없거나 user.age < 20){//20살 미만이면 return false; }else{ return true; } } console.log(isAdult(Mike));//true console.log(isAdult(Jane));//false
* for ...in 반복문 : 객체를 사용하며 반복문 사용 가능
for(let key in superman){ console.log(key) console.log(superman[key]) } //------------------------------------------------------------------------------------------- const mike = { name : 'Mike', age : 30, } for(key in Mike){//여기서 key는 key, x, data, a, b, c 어느것이 와도 상관없음 , key는 mike가 가진 프로퍼티를 의미 console.log(key);//"name", "age" : 즉 마이크가 가지고 있는 key 값들이 나옴 console.log(Mike[key])//"Mike", 30 : 즉 Mike['name'], Mike['age']를 의미하고 결과는 "Mike", 30 값이 나옴 }
반응형'javascript' 카테고리의 다른 글
배열 array (0) 2023.03.28 객체 Object의 method와 this (0) 2023.03.28 함수 선언문, 함수 표현식, 화살표 함수 (0) 2023.03.28 전역변수, 지역변수 (0) 2023.03.28 함수 function (0) 2023.03.28