Skip to content

Instantly share code, notes, and snippets.

@imaginate
Created July 21, 2016 05:28
Show Gist options
  • Save imaginate/99a2b318d5c3aa15758986b4017d6a5f to your computer and use it in GitHub Desktop.
Save imaginate/99a2b318d5c3aa15758986b4017d6a5f to your computer and use it in GitHub Desktop.
var is = Array.isArray;
var print = function print(func) {
var str;
var key;
str = '[' + typeof func + ']';
str += ' { \n';
for (key in func) {
str += ' ' + key + ': ' + String(func[key]) + '\n';
}
str += ' length: ' + func.length + '\n';
return str + '}';
};
var get = function getProto(obj) {
return obj.__proto__;
};
var log = console.log;
var obj = get(Object);
var arr = get(Array);
log('PROTOTYPES\n');
log('Object.prototype => ', print(obj));
log('Array.prototype => ', print(arr));
log('');
log('(obj === arr) => ', obj === arr);
log('');
log('ARRAYS\n');
arr = new Array(5);
arr.diffKey = 'value';
arr[10] = null;
arr[5] = function example(){};
arr[6] = /regex/g;
arr.length = 15;
log('isArray(arr) => ', is(arr));
log('arr => ', print(arr));
log('slice(arr) => ', print(arr.slice(0)));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment