스트림이 듀플렉스인지 확인하기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 주어진 인수가 JavaScript 에서 듀플렉스 (duplex, 읽기 및 쓰기 가능) 스트림인지 여부를 결정하는 방법을 살펴봅니다. typeof 검사와 속성 유효성 검사를 조합하여 듀플렉스 스트림을 정확하게 식별할 수 있는 함수를 만들 것입니다. 이 랩을 마치면 JavaScript 에서 스트림이 어떻게 작동하는지, 그리고 자신의 코드에서 스트림을 어떻게 사용할 수 있는지 더 잘 이해하게 될 것입니다.

스트림이 듀플렉스인지 확인하기

스트림이 듀플렉스 (duplex, 읽기 및 쓰기 가능) 인지 확인하려면 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다. 그런 다음 다음 단계를 따르세요.

  1. 주어진 인수가 null과 다른지 확인합니다.
  2. typeof를 사용하여 주어진 인수가 object 유형인지, 그리고 function 유형의 pipe 속성을 가지고 있는지 확인합니다.
  3. 또한, _read, _write, _readableState, 및 _writableState 속성이 각각 functionobject 유형인지 확인합니다.

다음은 코드입니다.

const isDuplexStream = (val) =>
  val !== null &&
  typeof val === "object" &&
  typeof val.pipe === "function" &&
  typeof val._read === "function" &&
  typeof val._readableState === "object" &&
  typeof val._write === "function" &&
  typeof val._writableState === "object";

다음 예제를 사용하여 이 코드를 테스트할 수 있습니다.

const Stream = require("stream");

isDuplexStream(new Stream.Duplex()); // true

요약

축하합니다! Stream Is Duplex 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.