>웹 프론트엔드 >JS 튜토리얼 >JavaScript 객체 메소드 예

JavaScript 객체 메소드 예

Susan Sarandon
Susan Sarandon원래의
2024-11-05 13:26:02189검색

JavaScript Object Methods Example

JavaScript 객체 메소드 예.

  • Object.keys(obj): 객체의 열거 가능한 속성 이름(키)의 배열을 반환합니다.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj));
// Output: ['a', 'b', 'c']
  • Object.values(obj): 객체 자체의 열거 가능한 속성 값 배열을 반환합니다.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.values(obj));
// Output: [1, 2, 3]
  • Object.entries(obj): 객체 자체의 열거 가능한 문자열 키 속성 [키, 값] 쌍의 배열을 반환합니다.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.entries(obj));
// Output: [['a', 1], ['b', 2], ['c', 3]]
  • Object.isSealed(obj): 객체가 봉인된 경우 true를 반환하고, 그렇지 않으면 false를 반환합니다.
const obj = Object.seal({ a: 1 });
console.log(Object.isSealed(obj));
// Output: true
  • Object.sign(target, source): 하나 이상의 소스 객체에서 열거 가능한 모든 속성의 값을 대상 객체에 복사합니다. 대상 객체를 반환합니다.
const target = { a: 1 };
const source = { b: 2, c: 3 };
const result = Object.assign(target, source);
console.log(result);
// Output: { a: 1, b: 2, c: 3 }
  • Object.freeze(obj): 객체를 고정하여 새 속성이 추가되거나 기존 속성이 제거 또는 재구성되는 것을 방지합니다.
const obj = { name: 'Khabib' };
Object.freeze(obj);
obj.name = 'Bob'; // This won't change the value
console.log(obj.name); // Output: 'Khabib'
  • Object.seal(obj): 객체를 봉인하여 새 속성이 추가되는 것을 방지하지만 기존 속성을 수정할 수 있도록 합니다.
const obj = { name: 'Alice' };
Object.seal(obj);
obj.name = 'Bob'; // This will update the value
obj.age = 25; // This won't add a new property
console.log(obj); // Output: { name: 'Bob' }
  • Object.create(proto): 지정된 프로토타입 객체와 속성을 사용하여 새 객체를 생성합니다.
const person = {greet() {console.log('Hello!');}};
const student = Object.create(person);
student.greet();
// Output: 'Hello!'
  • Object.defineProperty(obj, prop, descriptor): 객체에 직접 새 속성을 정의하거나 기존 속성을 수정합니다.
const obj = {};
Object.defineProperty(obj, 'name', {
value: 'Alice',
writable: false });
console.log(obj.name); // 'Alice'
  • Object.defineProperties(obj, props): 여러 개의 새 속성을 정의하거나 객체의 기존 속성을 수정합니다.
const obj = {};
Object.defineProperties(obj, {
name: { value: 'Cormier', writable: false },
age: { value: 30, writable: true } });
console.log(obj.name); // 'Cormier'
  • Object.isExtensible(obj): 객체가 확장 가능한지 여부(예: 새 속성을 추가할 수 있는지 여부)를 결정합니다.
const obj = {};
console.log(Object.isExtensible(obj)); // true
Object.preventExtensions(obj);
console.log(Object.isExtensible(obj)); // false
  • Object.isFrozen(obj): 객체가 고정되었는지 확인합니다(즉, 확장이 불가능하고 모든 속성이 쓰기 불가능함).
const obj = Object.freeze({ name: 'Gregor' });
console.log(Object.isFrozen(obj));
// output: true
  • Object.hasOwn(obj, prop): 속성 값이 정의되지 않은 경우에도 지정된 객체에 지정된 속성이 자체 속성으로 있으면 true를 반환합니다.
const obj = { name: 'Alice' };
console.log(Object.hasOwn(obj, 'name')); // true
console.log(Object.hasOwn(obj, 'age')); // false
  • Object.hasOwnProperty(prop): 객체에 지정된 속성이 해당 객체의 직접 속성으로 포함되어 있고 프로토타입 체인을 통해 상속되지 않았는지 확인합니다.
const obj = { name: 'Alice' };
console.log(obj.hasOwnProperty('name')); // true
console.log(obj.hasOwnProperty('age')); // false
  • Object.preventExtensions(obj): 새 속성이 객체에 추가되는 것을 방지합니다.
const obj = {};
Object.preventExtensions(obj);
obj.name = 'Khabib'; // Won't be added
console.log(obj); // {}
  • Object.setPrototypeOf(obj, proto): 지정된 객체의 프로토타입(내부 [[Prototype]] 속성)을 설정합니다.
const proto = { greet() {console.log('Hello!');}};
const obj = {};
Object.setPrototypeOf(obj, proto);
obj.greet(); // 'Hello!'
  • Object.fromEntries(iterable): 키-값 쌍 목록을 객체로 변환합니다.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj));
// Output: ['a', 'b', 'c']
  • Object.getPrototypeOf(obj): 지정된 객체의 프로토타입(내부 [[Prototype]] 속성)을 반환합니다.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.values(obj));
// Output: [1, 2, 3]
  • Object.getOwnPropertySymbols(obj): 객체에서 발견된 모든 기호 속성의 배열을 반환합니다.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.entries(obj));
// Output: [['a', 1], ['b', 2], ['c', 3]]
  • Object.getOwnPropertyDescriptor(obj, prop): 주어진 객체의 특정 속성에 대한 속성 설명자를 반환합니다.
const obj = Object.seal({ a: 1 });
console.log(Object.isSealed(obj));
// Output: true
  • Object.getOwnPropertyNames(obj): 객체에서 발견된 모든 속성(열거할 수 없는 속성 포함)의 배열을 반환합니다.
const target = { a: 1 };
const source = { b: 2, c: 3 };
const result = Object.assign(target, source);
console.log(result);
// Output: { a: 1, b: 2, c: 3 }
  • Object.is(value1, value2): 두 값이 같은지 비교합니다.
const obj = { name: 'Khabib' };
Object.freeze(obj);
obj.name = 'Bob'; // This won't change the value
console.log(obj.name); // Output: 'Khabib'
  • Object.getOwnPropertyDescriptors(obj): 객체의 모든 고유 속성 설명자를 반환합니다.
const obj = { name: 'Alice' };
Object.seal(obj);
obj.name = 'Bob'; // This will update the value
obj.age = 25; // This won't add a new property
console.log(obj); // Output: { name: 'Bob' }

위 내용은 JavaScript 객체 메소드 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.