0
dynamic code
はself creating
です。 certain conditions
の下では、特定の種類のみが許可されており、一部はif statements
です。現在
プロトタイプで未定義とnullを渡すにはどうすればよいですか?
- オブジェクト
- ブール
- 数
- 文字列
- シンボル
- 機能
コードは、それがnull
またはundefined
すべてがあるかどうかを確認しようとすると、コード
が崩壊してしまいます。または、null
またはundefined
で、文字列かどうかを確認したい場合は、それが分解されます。
私は、null
またはundefined
を通す方法があるのでしょうか?それがnullかどうかを確認する準備ができて取得するまで
デモ
デモをアップし動作します。
function type(obj) {
obj = Object.prototype.toString.call(obj).split(' ')[1].replace(']', '');
return obj;
}
String.prototype.is = function(what) {
if (/\b(string|str|s)\b/i.test(what)) {
return true;
}
return false;
};
Array.prototype.is = function(what) {
if (/\b(array|arr|a)\b/i.test(what)) {
return true;
}
return false;
};
Object.prototype.is = function(what) {
let results = type(this)
let regex = new RegExp('\\b' + results + '\\b', 'i')
if (regex.test(what)) {
return true;
}
return false;
};
unknown1 = 'hello world'
unknown2 = /a/g
unknown3 = null // Failed to pass through prototype - suppose to log true
unknown4 = undefined // Failed to pass through prototype - suppose to log false
unknown5 = 9
console.log(unknown1.is('string or regexp'))
console.log(unknown2.is('object'))
console.log(unknown3.is('null'))
console.log(unknown4.is('number'))
console.log(unknown5.is('string, number, or object'))
'null'なのでおよび' undefined'が行うプリミティブで破壊されませんまともではないeラッパーオブジェクトであるため、プロトタイプメソッドを設定することはできません。したがって、プロパティエラーを読み取ることができません。 –
プロトタイプを 'if文 'にラップし、' null'を返すことは可能ですか? –
これにはプロトタイプメソッドを使用しないでください。 – Bergi