Latest web development tutorials

일반적인 도구를 Node.js를

UTIL Node.js를 자바 스크립트가 너무 불충분 간소화 기능의 핵심을 구성하는 데 일반적으로 사용되는 기능의 컬렉션을 제공하는 핵심 모듈이다.


util.inherits

util.inherits (생성자, superconstructor와)는 객체 사이의 함수 프로토 타입 상속의 구현입니다.

일반적인 클래스 기반 달리 자바 스크립트의 객체 지향 기능, 프로토 타입 기반이다. 자바 스크립트 언어 수준 개체가 속성을 상속하지만, 달성하기 위해 프로토 타입을 복사하여 제공하지 않습니다.

여기에서 우리는 다음과 같이 util.inherits 사용 예입니다 소개 :

var util = require('util'); 
function Base() { 
	this.name = 'base'; 
	this.base = 1991; 
	this.sayHello = function() { 
	console.log('Hello ' + this.name); 
	}; 
} 
Base.prototype.showName = function() { 
	console.log(this.name);
}; 
function Sub() { 
	this.name = 'sub'; 
} 
util.inherits(Sub, Base); 
var objBase = new Base(); 
objBase.showName(); 
objBase.sayHello(); 
console.log(objBase); 
var objSub = new Sub(); 
objSub.showName(); 
//objSub.sayHello(); 
console.log(objSub); 

우리는 기본 오브젝트는 자료 및 하위의 자료에서 상속 정의, 기본 함수는 생성자와 상속 util.inherits에 의해 정의 된 프로토 타입에 정의 된 세 가지 속성이 있습니다. 결과는 다음과 같습니다 :

base 
Hello base 
{ name: 'base', base: 1991, sayHello: [Function] } 
sub 
{ name: 'sub' }

주 : 서브베이스에만 원형에 정의 된 기능 및 내부 구조를 계승 서브 상속 sayHello가 기능하지 않은 특성베이스를 작성하는 기능을한다.

한편, 프로토 타입의 속성은 속성 CONSOLE.LOG 출력의 목적으로서 정의 될 수 없다. 우리가 objSub.sayHello ()를 제거하는 경우,이 라인을 코멘트, 당신은 볼 수 있습니다 :

node.js:201 
throw e; // process.nextTick error, or 'error' event on first tick 
^ 
TypeError: Object #<Sub> has no method 'sayHello' 
at Object.<anonymous> (/home/byvoid/utilinherits.js:29:8) 
at Module._compile (module.js:441:26) 
at Object..js (module.js:459:10) 
at Module.load (module.js:348:31) 
at Function._load (module.js:308:12) 
at Array.0 (module.js:479:10) 
at EventEmitter._tickCallback (node.js:192:40) 

util.inspect

util.inspect (객체, [showHidden], [깊이], [색]) 문자열 방법, 일반적으로 디버깅과 에러 출력에 사용하는 임의의 객체입니다. 그것은, 즉, 변환하는 오브젝트를 적어도 하나의 파라미터 객체를 받아 들인다.

showHidden가 true의 경우, 출력이 더 숨겨진 정보가 될 것입니다, 선택적 매개 변수입니다.

재귀 최대 깊이는 객체가 복잡한 경우, 정보의 출력을 제어하는 ​​방법을 여러 층으로 지정할 수 있으며, 층의 수를 나타낸다. 당신이 깊이, 재귀 기본 층 (2)을 지정하지 않을 경우, 널 (null)이 반복적으로 개체 레이어가 그대로 통과로 지정 한정 보여줍니다. 색상에 해당하는 경우, 출력 포맷은 ANSI 컬러 코딩 될 것이다, 일반적으로 상기 단말기에 다운 더 효과를 사용한다.

특히 주목할 util.inspect은 단순히 직접 문자열로 객체, 객체는 toString 메소드를 정의하는 경우에도 또한 호출되지 않습니다 점이다.

var util = require('util'); 
function Person() { 
	this.name = 'byvoid'; 
	this.toString = function() { 
	return this.name; 
	}; 
} 
var obj = new Person(); 
console.log(util.inspect(obj)); 
console.log(util.inspect(obj, true)); 

운영 결과는 다음과 같습니다

{ name: 'byvoid', toString: [Function] } 
{ toString: 
{ [Function] 
[prototype]: { [constructor]: [Circular] }, 
[caller]: null, 
[length]: 0, 
[name]: '', 
[arguments]: null }, 
name: 'byvoid' } 

util.isArray (객체)

지정된 매개 변수 "개체는"사실 배열 반환 경우, 그렇지 않은 경우는 false를 돌려줍니다.

var util = require('util');

util.isArray([])
  // true
util.isArray(new Array)
  // true
util.isArray({})
  // false

util.isRegExp (객체)

지정된 매개 변수 "개체는"정규 표현식 인 경우 그렇지 않은 경우는 false, true를 돌려줍니다.

var util = require('util');

util.isRegExp(/some regexp/)
  // true
util.isRegExp(new RegExp('another regexp'))
  // true
util.isRegExp({})
  // false

util.isDate (객체)

지정된 매개 변수 "개체는"날짜 인 경우 그렇지 않은 경우는 false, true를 돌려줍니다.

var util = require('util');

util.isDate(new Date())
  // true
util.isDate(Date())
  // false (without 'new' returns a String)
util.isDate({})
  // false

util.isError (객체)

지정된 매개 변수 "객체"오류 객체 인 경우 그렇지 않은 경우는 false, true를 돌려줍니다.

var util = require('util');

util.isError(new Error())
  // true
util.isError(new TypeError())
  // true
util.isError({ name: 'Error', message: 'an error occurred' })
  // false

자세한 내용은 액세스 할 수 있습니다 http://nodejs.org/api/util.html 자세한 내용은.