function typeOf(x) { if (x === null) return 'null'; if (x == null) return 'undefined'; var type = typeof x, c = x.constructor; if (type === 'number') { if (isNaN(x)) return 'NaN'; if (!isFinite(x)) return x === Infinity ? 'Infinity' : '-Infinity'; } if (type === 'object') { return c && c.name ? c.name : Object.prototype.toString.call(x).slice(8, -1); } return type; } console.log(typeOf(undefined))
![typeofを改善したtypeOf()関数 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/4c0de269c18854e3f297e244262f041f224176f4/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9dHlwZW9mJUUzJTgyJTkyJUU2JTk0JUI5JUU1JTk2JTg0JUUzJTgxJTk3JUUzJTgxJTlGdHlwZU9mJTI4JTI5JUU5JTk2JUEyJUU2JTk1JUIwJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03YzFkODIwOTkwNmZhZTY3NzBmZDgzZTUyNjBlZjUwZA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwSGlyYWt1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1kNmRlMjUyMDQ4YTJiNjhhN2Q3NDU1ZTZmMjRiNTYzYw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D8135c3a0ada6ff9e5136b9ec15e3bf23)