소개
이 랩에서는 주어진 인수가 JavaScript 에서 듀플렉스 (duplex, 읽기 및 쓰기 가능) 스트림인지 여부를 결정하는 방법을 살펴봅니다. typeof 검사와 속성 유효성 검사를 조합하여 듀플렉스 스트림을 정확하게 식별할 수 있는 함수를 만들 것입니다. 이 랩을 마치면 JavaScript 에서 스트림이 어떻게 작동하는지, 그리고 자신의 코드에서 스트림을 어떻게 사용할 수 있는지 더 잘 이해하게 될 것입니다.
이 랩에서는 주어진 인수가 JavaScript 에서 듀플렉스 (duplex, 읽기 및 쓰기 가능) 스트림인지 여부를 결정하는 방법을 살펴봅니다. typeof 검사와 속성 유효성 검사를 조합하여 듀플렉스 스트림을 정확하게 식별할 수 있는 함수를 만들 것입니다. 이 랩을 마치면 JavaScript 에서 스트림이 어떻게 작동하는지, 그리고 자신의 코드에서 스트림을 어떻게 사용할 수 있는지 더 잘 이해하게 될 것입니다.
스트림이 듀플렉스 (duplex, 읽기 및 쓰기 가능) 인지 확인하려면 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다. 그런 다음 다음 단계를 따르세요.
null과 다른지 확인합니다.typeof를 사용하여 주어진 인수가 object 유형인지, 그리고 function 유형의 pipe 속성을 가지고 있는지 확인합니다._read, _write, _readableState, 및 _writableState 속성이 각각 function 및 object 유형인지 확인합니다.다음은 코드입니다.
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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.