정보실

웹학교

정보실

javascript JavaScript에서 객체 메소드를 사용하는 방법 - JavaScript guide

본문

목차​

  1. JavaScript 개발자 콘솔을 사용하는 방법
  2. HTML에 JavaScript를 추가하는 방법
  3. JavaScript에서 구문 및 코드 구조 이해
  4. JavaScript로 주석을 작성하는 방법
  5. JavaScript에서 데이터 유형 이해
  6. JavaScript에서 문자열로 작업하는 방법
  7. JavaScript에서 문자열을 인덱싱, 분할 및 조작하는 방법
  8. JavaScript에서 데이터 유형을 변환하는 방법
  9. JavaScript에서 변수, 범위 및 게양 이해
  10. 연산자를 사용하여 JavaScript에서 수학을 수행하는 방법
  11. JavaScript에서 배열 이해
  12. JavaScript에서 배열 메서드를 사용하는 방법 : Mutator 메서드
  13. JavaScript에서 배열 메서드를 사용하는 방법 : Accessor 메서드
  14. JavaScript에서 배열 메서드를 사용하는 방법 : Iteration 메서드
  15. JavaScript에서 객체 이해
  16. JavaScript에서 날짜 및 시간 이해
  17. JavaScript에서 이벤트 이해
  18. JavaScript에서 JSON으로 작업하는 방법
  19. JavaScript로 조건문을 작성하는 방법
  20. JavaScript에서 Switch 문을 사용하는 방법
  21. JavaScript에서 While 및 Do ... While 루프 사용
  22. JavaScript에서 For 루프를 생성하는 방법
  23. JavaScript에서 함수를 정의하는 방법
  24. JavaScript의 프로토 타입 및 상속 이해
  25. JavaScript에서 클래스 이해
  26. JavaScript에서 객체 메소드를 사용하는 방법
  27. JavaScript에서 This, Bind, Call 및 Apply 이해

JavaScript에서 객체 메소드를 사용하는 방법 


소개 


JavaScript의 객체는 키 / 값 쌍의 모음입니다. 값은 속성과 메서드로 구성 될 수 있으며 문자열, 숫자 및 부울과 같은 다른 모든 JavaScript 데이터 형식을 포함 할 수 있습니다.


JavaScript의 모든 객체는 상위 객체 생성자의 자손입니다. 객체에는 개별 객체로 간단하게 작업하기 위해 사용하고 액세스 할 수있는 유용한 내장 메소드가 많이 있습니다. 배열 인스턴스에서 사용되는 sort() 및 reverse()와 같은 Array 프로토 타입 메서드와 달리 Object 메서드는 Object 생성자에서 직접 사용되며 개체 인스턴스를 매개 변수로 사용합니다. 이것을 정적 메소드라고 합니다.


이 튜토리얼에서는 중요한 내장 객체 메소드를 살펴보고 아래의 각 섹션에서 특정 메소드를 다루고 사용 예제를 제공합니다.


https://www.digitalocean.com/community/tutorials/how-to-use-object-methods-in-javascript 


전제 조건 


이 자습서를 최대한 활용하려면“JavaScript의 객체 이해”기사에서 검토 할 수 있는 객체 생성, 수정 및 작업에 익숙해야 합니다.


JavaScript에 대한 일반적인 추가 지침은 JavaScript로 작성하는 방법 시리즈를 검토하십시오.


Object.create() 


Object.create() 메소드는 새 오브젝트를 작성하고 기존 오브젝트의 프로토 타입에 링크하는 데 사용됩니다.


작업 객체 인스턴스를 만들어보다 구체적인 객체로 확장 할 수 있습니다.


// Initialize an object with properties and methods
const job = {
    position: 'cashier',
    type: 'hourly',
    isAvailable: true,
    showDetails() {
        const accepting = this.isAvailable ? 'is accepting applications' : "is not currently accepting applications";

        console.log(`The ${this.position} position is ${this.type} and ${accepting}.`);
    }
};

// Use Object.create to pass properties
const barista = Object.create(job);

barista.position = "barista";
barista.showDetails();
Output
The barista position is hourly and is accepting applications.

barista 객체는 이제 하나의 속성 (위치)을 가지지 만 작업의 다른 모든 속성과 방법은 프로토 타입을 통해 사용할 수 있습니다. Object.create()는 중복을 최소화하여 코드 DRY를 유지하는 데 유용합니다.


Object.keys() 


Object.keys()는 객체의 키를 만듭니다.


객체를 만들고 키 배열을 인쇄 할 수 있습니다.

// Initialize an object
const employees = {
    boss: 'Michael',
    secretary: 'Pam',
    sales: 'Jim',
    accountant: 'Oscar'
};

// Get the keys of the object
const keys = Object.keys(employees);

console.log(keys);
Output
["boss", "secretary", "sales", "accountant"]

Object.keys는 객체의 키와 값을 반복하는 데 사용할 수 있습니다.

// Iterate through the keys
Object.keys(employees).forEach(key => {
    let value = employees[key];

     console.log(`${key}: ${value}`);
});
Output
boss: Michael secretary: Pam sales: Jim accountant: Oscar

Object.keys는 객체의 길이를 확인하는 데에도 유용합니다.

// Get the length of the keys
const length = Object.keys(employees).length;

console.log(length);
Output
4

length 속성을 사용하여 직원의 4 개 속성을 계산할 수 있었습니다.


Object.values() 


Object.values​​()는 객체의 값을 포함하는 배열을 만듭니다.

// Initialize an object
const session = {
    id: 1,
    time: `26-July-2018`,
    device: 'mobile',
    browser: 'Chrome'
};

// Get all values of the object
const values = Object.values(session);

console.log(values);
Output
[1, "26-July-2018", "mobile", "Chrome"]

Object.keys() 및 Object.values​​()를 사용하면 객체에서 데이터를 반환 할 수 있습니다.


Object.entries() 


Object.entries()는 객체의 키 / 값 쌍의 중첩 배열을 만듭니다.


// Initialize an object
const operatingSystem = {
    name: 'Ubuntu',
    version: 18.04,
    license: 'Open Source'
};

// Get the object key/value pairs
const entries = Object.entries(operatingSystem);

console.log(entries);
Output
[ ["name", "Ubuntu"] ["version", 18.04] ["license", "Open Source"] ]

키 / 값 쌍 배열이 있으면 forEach () 메서드를 사용하여 루프를 수행하고 결과를 처리 할 수 ​​있습니다.

// Loop through the results
entries.forEach(entry => {
    let key = entry[0];
    let value = entry[1];

    console.log(`${key}: ${value}`);
});
Output
name: Ubuntu version: 18.04 license: Open Source

Object.entries() 메서드는 프로토 타입을 통해 상속 될 수 있는 속성이 아닌 객체 인스턴스의 고유 속성 만 반환합니다.


Object.assign() 


Object.assign()은 한 객체에서 다른 객체로 값을 복사하는 데 사용됩니다.


두 개의 객체를 만들고 Object.assign()과 병합 할 수 있습니다.

// Initialize an object
const name = {
    firstName: 'Philip',
    lastName: 'Fry'
};

// Initialize another object
const details = {
    job: 'Delivery Boy',
    employer: 'Planet Express'
};

// Merge the objects
const character = Object.assign(name, details);

console.log(character);
Output
{firstName: "Philip", lastName: "Fry", job: "Delivery Boy", employer: "Planet Express"}

스프레드 연산자 (...)를 사용하여 동일한 작업을 수행 할 수도 있습니다. 아래 코드에서는 이름과 세부 사항 객체를 병합하여 문자를 선언하는 방법을 수정합니다.

// Initialize an object
const name = {
    firstName: 'Philip',
    lastName: 'Fry'
};

// Initialize another object
const details = {
    job: 'Delivery Boy',
    employer: 'Planet Express'
};

// Merge the object with the spread operator
const character = {...name, ...details}

console.log(character);
Output
{firstName: "Philip", lastName: "Fry", job: "Delivery Boy", employer: "Planet Express"}

객체 리터럴에서 이 스프레드 구문은 얕은 복제라고도 합니다.


Object.freeze() 


Object.freeze()는 객체의 속성 및 값에 대한 수정을 방지하고 객체에서 속성이 추가되거나 제거되지 않도록 합니다. 

// Initialize an object
const user = {
    username: 'AzureDiamond',
    password: 'hunter2'
};

// Freeze the object
const newUser = Object.freeze(user);

newUser.password = '*******';
newUser.active = true;

console.log(newUser);
Output
{username: "AzureDiamond", password: "hunter2"}

위의 예에서 *******로 비밀번호 hunter2를 대체하려고 시도했지만 비밀번호 특성은 동일하게 유지되었습니다. 또한 새 속성 인 active를 추가하려고 했지만 추가되지 않았습니다.


Object.isFrozen()을 사용하여 개체가 고정되었는지 여부를 확인하고 부울을 반환합니다.


Object.seal() 


Object.seal()은 객체에 새 속성이 추가되지 않도록 하지만 기존 속성은 수정할 수 있습니다. 이 메소드는 Object.freeze()와 유사합니다. 오류를 방지하려면 아래 코드를 구현하기 전에 콘솔을 새로 고치십시오.

// Initialize an object
const user = {
    username: 'AzureDiamond',
    password: 'hunter2'
};

// Seal the object
const newUser = Object.seal(user);

newUser.password = '*******';
newUser.active = true;

console.log(newUser);
Output
{username: "AzureDiamond", password: "*******"}

새 활성 특성이 봉인 된 오브젝트에 추가되지 않았지만 비밀번호 특성이 변경되었습니다.


Object.getPrototypeOf() 


Object.getPrototypeOf()는 __proto__ 속성을 통해 액세스 할 수 있는 객체의 내부 숨겨진 [[Prototype]]을 가져 오는 데 사용됩니다.


이 예에서는 Array 프로토 타입에 액세스 할 수 있는 배열을 만들 수 있습니다.

const employees = ['Ron', 'April', 'Andy', 'Leslie'];

Object.getPrototypeOf(employees);
Output
[constructor: ƒ, concat: ƒ, find: ƒ, findIndex: ƒ, pop: ƒ, …]

직원 배열의 프로토 타입이 pop, find 및 기타 Array 프로토 타입 방법에 액세스 할 수 있음을 출력에서 ​​확인할 수 있습니다. Array.prototype에 대해 직원 프로토 타입을 테스트하여 이를 확인할 수 있습니다.

Object.getPrototypeOf(employees) === Array.prototype;
Output
true

이 방법은 객체에 대한 자세한 정보를 얻거나 다른 객체의 프로토 타입에 액세스 할 수 있도록 하는 데 유용 할 수 있습니다.


프로토 타입을 다른 객체에 추가하는 관련 Object.setPrototypeOf() 메서드도 있습니다. 더 빠르고 성능이 우수한 Object.create()를 대신 사용하는 것이 좋습니다.


결론 


객체에는 수정, 보호 및 반복을 도와주는 유용한 방법이 많이 있습니다. 이 학습서에서는 새 오브젝트를 작성 및 지정하고 오브젝트의 키 및 / 또는 값을 반복하고 오브젝트를 고정 또는 봉인하는 방법을 검토했습니다.


JavaScript 객체를 검토 해야 하는 경우 "JavaScript의 객체 이해"를 읽을 수 있습니다. 프로토 타입 체인에 익숙해 지려면 "JavaScript의 프로토 타입 및 상속 이해"를 살펴보십시오.



  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

조회 35회 ]  작성일19-10-28 16:49

웹학교