본문 바로가기

JavaScript

27. 객체 활용법

객체 활용법
객체 선언
let dog = {
    name: '루시',
    age:14,
    "dog-weight": 3.5, // 객체의 프로퍼티 이름에 특수문자를 넣고 싶은 경우, ""이나 ''안에 이름을 넣으면 가능
    ["dog-height"]: 0.8 // []안에 ""이나 ''안에 프로퍼티 이름을 넣어도 가능
}
프로퍼티 값 접근
console.log(dog.name); // 루시

// []로 프로퍼티 값 접근하기
console.log(dog['age']); // 14
프로퍼티 추가
dog.family = '포메라니안';
console.log(dog.family); // 포메라니안
console.log(dog["family"]); // 포메라니안
프로퍼티 삭제
delete dog["dog-height"]; // delete 키워드를 사용해서 프로퍼티 제거
console.log(dog["dog-height"]); // 프로퍼티가 제거되었으므로, undefined

동적으로 속성에 접근하기
프로퍼티 값 접근
// 함수를 이용하여 프로퍼티 값 가져오기
function getValue(obj, key) {
    return obj[key];
}

console.log(getValue(dog, 'name')); // 루시
프로퍼티 추가
function addkey(obj, key, value) {
    obj[key] = value;
}

addkey(dog, "dog-height", 0.7);
console.log(dog); // {name: '루시', age: 14, dog-weight: 3.5, family: '포메라니안', dog-height: 0.7}
함수를 이용하여 프로퍼티 삭제하기
function deleteKey(obj, key) {
    delete obj[key];
}

deleteKey(dog, "dog-height");
console.log(dog); // {name: '루시', age: 14, dog-weight: 3.5, family: '포메라니안'}

객체 생성 함수 만들기
// 객체 생성 함수 만들기
const x = 0;
const y = 0;
const coord = {x, y}; // 중괄호로 묶어서 객체화
console.log(coord); // {x: 0, y: 0}

// 객체를 생성해주는 함수
function makeObj(name, age) {
    // 매개변수명은 프로퍼티의 이름, 매개변수의 값은 프로퍼티의 값으로 들어감
    return {name, age}; // 매개변수인 name과 age를 중괄호로 묶어서 객체화 시켜줌
}

console.log(makeObj("apple", 20));  // {name: 'apple', age: 20}

// apple 객체 생성
const apple = {
    name: "apple",
    // 이모지를 찍어주는 함수
    display: function() {
        console.log(`${this.name}: 🍎`);
    }
}

// orange 객체 생성
const orange = {
    name: "orange",
    // 이모지를 찍어주는 함수
    display: function() {
        console.log(`${this.name}: 🍊`);
    }
}
console.log(apple); // {name: 'apple', display: ƒ}
apple.display(); //  apple: 🍎
console.log(orange); // {name: 'orange', display: ƒ}
orange.display(); // orange: 🍊

문제
  • Fruit 생성자를 만들고 위와 같은 결과를 동일하게 출력할 수 있는 객체를 만들어 출력해보자
  • 단 Fruit(name, emoji) 형태로 만든다.
function Fruit(name, emoji){
    this.name = name;
    this.emoji = emoji
    this.display = () => {
        console.log(`${this.name}: ${this.emoji}`);
    };
}
const appple = new Fruit("apple", "🍎");
console.log(appple.name); // apple
appple.display(); // apple: 🍎

'JavaScript' 카테고리의 다른 글

30. wrapper  (0) 2023.04.12
28. 클래스 심화  (0) 2023.04.12
26. 함수 작성법  (0) 2023.04.11
25. 정규 표현식  (0) 2023.04.10
24. 노드(node)  (0) 2023.04.10