この演習はかなり学術的ですが、JavaScript の動作を理解するのに役立ちます。
なぜこれが機能するのですか:
var fs = require('fs');
console.log(fs.readdirSync('/').length); //approximately '28' on my Macbook
fs['readdirSync'] = function(){ return ['/tmp', '/bin']; };
console.log(fs.readdirSync('/').length); //'2' as expected
これはしません:
var a = "hello world";
console.log(a.length); //'11'
a['length'] = 1000;
console.log(a.length); //still '11'... why??
String などの JavaScript 組み込み型にモンキーパッチを適用できることは知っていますが、それらをスタブ化することは可能ですか?
前もって感謝します。