>  기사  >  웹 프론트엔드  >  nodejs에서 객체 이름을 얻는 방법

nodejs에서 객체 이름을 얻는 방법

PHPz
PHPz원래의
2023-04-17 16:37:50894검색

Node.js는 웹 애플리케이션, 웹 서버, 명령줄 애플리케이션 등을 작성하는 데 사용할 수 있는 매우 인기 있는 백엔드 프로그래밍 언어입니다. Node.js에서는 전달된 객체를 분석하여 일부 속성이나 메서드를 가져와야 하는 경우가 많으므로 객체 이름을 얻는 것도 매우 중요합니다. 다음으로, 이 기사에서는 개체 이름을 얻는 방법에 대한 몇 가지 방법을 소개합니다.

1. typeof 키워드를 사용하세요

JavaScript에서는 typeof 키워드를 사용하여 변수의 유형을 가져올 수 있으며 객체도 예외는 아닙니다. typeof 연산자를 사용하여 객체가 객체 유형인지 확인할 수 있습니다. 그렇다면 toString 메소드를 사용하여 객체의 이름을 얻을 수 있습니다.

var obj = {name:'Node.js'};
console.log(typeof obj);    // 输出 "object"
console.log(obj.toString());    // 输出 "[object Object]"

위 코드에서 볼 수 있듯이, typeof 연산자는 obj의 유형이 object인지 확인하는 데 사용됩니다. obj의 클래스 이름은 Object이므로 출력 결과는 "[object Object]"입니다.

객체 유형을 결정하기 위해 typeof 키워드를 직접 사용하는 것 외에도 코드를 더 읽기 쉽고 간결하게 만들기 위해 함수 레이어를 래핑하여 객체 이름을 얻는 프로세스를 캡슐화할 수도 있습니다.

function getObjectName(obj) {
    return Object.prototype.toString.call(obj).slice(8, -1);
}

var obj = {name:'Node.js'};
console.log(getObjectName(obj));    //输出 "Object"

위의 getObjectName 함수는 객체 이름을 얻는 과정을 요약합니다. 여기에 객체 obj를 전달합니다. 먼저 Object.prototype.toString.call(obj)을 통해 obj가 속한 클래스 이름을 얻습니다. 슬라이스 메소드를 통한 클래스 이름은 문자열의 하위 문자열이 우리가 원하는 객체 이름입니다.

2. 생성자 속성을 사용하세요

자바스크립트에서는 각 함수마다 생성자 속성이 있는데, 이를 통해 함수의 생성자를 얻을 수 있으므로 객체의 생성자 속성을 통해 객체의 이름을 얻을 수 있습니다. 예는 다음과 같습니다.

function Person(name, age) {
    this.name = name;
    this.age = age;
}

var p = new Person('Tom', 18);
console.log(p.constructor.name);    // 输出 "Person"

위 코드에서는 Person 함수를 정의한 다음 new 키워드를 통해 객체 p를 생성합니다. 그러면 p.constructor.name을 통해 객체의 생성자 이름을 얻을 수 있습니다. 사람".

생성자 속성을 사용하여 개체 이름을 얻는 방법은 매우 간단하지만 이 방법은 생성자를 통해 생성된 개체에만 적용 가능하며 일반 개체에는 유효하지 않습니다.

3. Object.keys() 메소드를 사용하세요

Object.keys() 메소드는 객체의 속성 이름을 이미 알고 있다면 객체의 속성 이름을 얻을 수 있습니다. 속성 이름을 통해 속성 값을 통해 개체 이름을 가져옵니다. 예:

var obj = {
    name: "Tom",
    age: 18
};

var propName = Object.keys(obj)[0];
console.log(propName);    // 输出 "name"
console.log(obj[propName]);    // 输出 "Tom"

위 코드에서는 먼저 Object.keys() 메서드를 사용하여 obj 객체의 속성 이름 배열을 가져온 다음 배열 첨자를 사용하여 첫 번째 속성의 이름(예: " name"). 그런 다음 obj["name"]을 사용하여 속성 값(예: "Tom")을 가져옵니다.

이 방법은 객체에 속성이 하나만 있는 경우에만 적용된다는 점에 유의하세요. 객체에 속성이 여러 개인 경우 객체 이름을 정확하게 얻을 수 없습니다.

4. Object.prototype.toString() 메서드 사용

Object.prototype.toString() 메서드는 개체의 문자열 표현을 반환할 수 있습니다. 특정 메서드는 typeof 연산자가 개체 이름을 얻는 방식과 유사합니다. 객체의 이름을 얻는 데에도 사용할 수 있습니다.

var obj = {name: "Node.js"};
console.log(Object.prototype.toString.call(obj));    // 输出 "[object Object]"

위 코드에서는 Object.prototype.toString.call(obj)을 통해 객체의 문자열 표현을 얻은 다음 문자열에서 객체의 이름을 구문 분석할 수 있습니다.

이 방법은 객체에 속성이 하나만 있는 경우에만 적용 가능하다는 점에 유의하세요.

5. 요약

Node.js 프로그래밍에서는 객체의 이름을 가져와야 하는 경우가 많습니다. 이 기사에서는 객체의 이름을 얻기 위해 일반적으로 사용되는 네 가지 방법을 소개합니다.

  • typeof 키워드 사용
  • 생성자 속성 사용
  • Object.keys() 메서드 사용
  • Object.prototype.toString() 메서드 사용

최상의 사용 효과를 얻으려면 특정 상황에 따라 적절한 방법을 선택해야 합니다. 이 기사가 도움이 되기를 바랍니다.

위 내용은 nodejs에서 객체 이름을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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