객체 지향 JavaScript — 객체 속성

https://www.amazon.com/John-Au-Yeung/e/B08FT5NT62에서 Amazon에서 내 책을 확인하십시오.

지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.

JavaScript는 부분적으로 객체 지향 언어입니다.

JavaScript를 배우려면 JavaScript의 객체 지향 부분을 배워야 합니다.

이 기사에서는 객체 속성을 살펴보겠습니다.

개체 속성 및 속성



개체 속성에는 고유한 속성이 있습니다.

여기에는 열거 가능하고 구성 가능한 속성이 포함됩니다.

그리고 둘 다 부울입니다.

열거 가능은 속성을 열거할 수 있는지 여부를 의미합니다.

구성 가능은 속성이 false인 경우 속성을 삭제하거나 변경할 수 없음을 의미합니다.

다음과 같이 작성하여 Object.getOwnPropertyDescriptor 메서드를 사용할 수 있습니다.

let obj = {
  name: 'james'
}
console.log(Object.getOwnPropertyDescriptor(obj, 'name'));


그리고 우리는 다음을 얻습니다.

{value: "james", writable: true, enumerable: true, configurable: true}


콘솔 로그에서.

개체 메서드



ES6에는 다양한 객체 메소드가 있습니다.

Object.assign을 사용하여 속성 복사


Object.assign 메서드를 사용하여 속성을 복사할 수 있습니다.

예를 들어 다음과 같이 작성할 수 있습니다.

let a = {}
Object.assign(a, {
  age: 25
})


그러면 a는 다음과 같습니다.

{age: 25}

age 속성을 a 객체에 복사하므로 이것이 우리가 얻은 것입니다.
Object.assign 여러 소스 개체를 사용할 수 있습니다.

예를 들어 다음과 같이 작성할 수 있습니다.

let a = {}
Object.assign(a, {
  a: 2
}, {
  c: 4
}, {
  b: 5
})


그러면 a는 다음과 같습니다.

{a: 2, c: 4, b: 5}


각 개체의 모든 속성이 복사됩니다.

충돌이 있는 경우:

let a = {
  a: 1,
  b: 2
}
Object.assign(a, {
  a: 2
}, {
  c: 4
}, {
  b: 5
})

console.log(a)


그러면 나중의 것이 우선할 것입니다.

따라서 a는 동일합니다.

Object.is와 값 비교


Object.is  와 값을 비교할 수 있습니다.
===가 자신과 같음을 제외하고는 대부분 NaN와 동일합니다.

그리고 +0-0와 같지 않습니다.

예를 들어 다음이 있는 경우:

console.log(NaN === NaN)
console.log(-0 === +0)


그런 다음 우리는 다음을 얻습니다.

false
true


그리고 우리가 가지고 있는 경우:

console.log(Object.is(NaN, NaN))
console.log(Object.is(-0, +0))


우리는 다음을 얻습니다.

true
false


구조화



Destructuring을 사용하면 객체 속성을 변수로 분해할 수 있습니다.

예를 들어 다음을 작성하는 대신:

const config = {
  server: 'localhost',
  port: '8080'
}
const server = config.server;
const port = config.port;


우리는 쓸 수있다:

const config = {
  server: 'localhost',
  port: '8080'
}
const {
  server,
  port
} = config


첫 번째 예제보다 훨씬 짧습니다.

Destructuring은 배열에서도 작동합니다.

예를 들어 다음과 같이 작성할 수 있습니다.

const arr = ['a', 'b'];
const [a, b] = arr;


그러면 a'a'이고 b'b'입니다.

변수 값을 교환할 때도 편리합니다.

예를 들어 다음과 같이 작성할 수 있습니다.

let a = 1,
  b = 2;
[b, a] = [a, b];


그런 다음 b는 1이고 a는 2입니다.

내장 객체



JavaScript에는 다양한 생성자가 있습니다.

여기에는 Object  , Array  , Boolean  , Function  , Number  , String  가 포함됩니다.

이것들은 다양한 종류의 객체를 생성할 수 있습니다.

유틸리티 개체에는 Math  , Date   및 RegExp  가 포함됩니다.

오류 개체는 Error 생성자를 사용하여 만들 수 있습니다.

물체


Object 생성자를 사용하여 개체를 만들 수 있습니다.

따라서 다음과 같습니다.

const o = {};
const o = new Object();


2번은 좀 더 길어요.

둘 다 다양한 내장 속성이 있는 Object.prototype에서 상속합니다.

예를 들어 객체를 문자열로 변환하는 toString 메서드가 있습니다.

그리고 객체의 표현을 반환하는 valueOf 메서드가 있습니다.

단순 개체의 경우 valueOf는 개체를 반환합니다. 그래서:

console.log(o.valueOf() === o)


그리고 우리는 true  를 얻습니다.

결론



개체에는 다양한 속성과 메서드가 있습니다.

그들은 우리가 다른 형태로 변환할 수 있도록 하는 다양한 방법을 상속합니다.

좋은 웹페이지 즐겨찾기