객체 지향 JavaScript — 객체 속성
지금 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
를 얻습니다.결론
개체에는 다양한 속성과 메서드가 있습니다.
그들은 우리가 다른 형태로 변환할 수 있도록 하는 다양한 방법을 상속합니다.
Reference
이 문제에 관하여(객체 지향 JavaScript — 객체 속성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aumayeung/object-oriented-javascript-object-properties-2k59텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)