在nodejs環境中考慮這個:
那麼雙工怎麼可能是實例都可寫和可讀?instanceof Duplex如何可寫和可讀
編輯1: 而這怎麼能在javascript中實現? (從我讀,javascript中不允許多重繼承)
EDIT2:似乎是節點V7.1.0的情況下+
const {Readable, Writable, Duplex} = require('stream');
const r = new Readable();
const w = new Writable();
const d = new Duplex();
console.log(d instanceof Duplex); // true
console.log(d instanceof Readable); // true
console.log(d instanceof Writable); // true
console.log(r instanceof Writable); // false
console.log(w instanceof Readable); // false
console.log(w instanceof Duplex); // false
console.log(r instanceof Duplex); // false
console.log(d instanceof Transform); // false
console.log(d instanceof PassThrough); // false
console.log(w instanceof Writable); // true
console.log(r instanceof Readable); // true
因爲'複式流是實現兩者的讀取和寫入interfaces.'流 - [文件](https://nodejs.org/api/stream.html#stream_class_stream_duplex ) –
我以爲JavaScript不允許多重繼承。對不起,我應該修改我的問題。 – thierry
JavaScript允許原型鏈的深度超過1級。你不能在每個關卡上繼承多件事,但是你可以擁有任意數量的關卡。 – 4castle