Node.js / JavaScript Заглушка встроенных типов? - PullRequest
1 голос
/ 25 октября 2011

Это упражнение довольно академическое, но оно полезно для понимания поведения 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??

Я знаю, что можно обезопасить встроенные типы JavaScript, такие как String, но можно ли их заглушить?

Заранее спасибо.

1 Ответ

0 голосов
/ 25 октября 2011

Предоставлено TJ Holowaychuk : Строки неизменны. Так что кажется, что это невозможно.

...