私は文字列オブジェクト.soの独自のプロパティを定義して、このプロパティを文字列オブジェクトに直接使用できます。例: - strは私の文字列object.thenですので、以下に示すように.IsNull
プロパティを使用できるはずです。javascript文字列オブジェクトにカスタムプロパティを追加する方法
var str = “string”;
str.IsNull; //returns true if null
str.IsEmpty; returns true if empty
私は文字列オブジェクト.soの独自のプロパティを定義して、このプロパティを文字列オブジェクトに直接使用できます。例: - strは私の文字列object.thenですので、以下に示すように.IsNull
プロパティを使用できるはずです。javascript文字列オブジェクトにカスタムプロパティを追加する方法
var str = “string”;
str.IsNull; //returns true if null
str.IsEmpty; returns true if empty
おかげで私は
Object.defineProperty(String.prototype, 'IsNullOrEmpty', {
get: function() {
return ((0 === this.length) || (!this) || (this === '') || (this === null));
}
});
var str = "";
str.IsNullOrEmpty;//returns true
あなたは文字列のラッパーオブジェクトのプロトタイプに新しいメソッドを追加する必要があります例
String.prototype.yourMethod = function(){
// Your code here
}
についてprototypeプロパティ
を探索することができます。ベストプラクティスは、宣言する前にメソッドがすでに存在するかどうかを確認することです。たとえば:
String.prototype.yourMethod = String.prototype.yourMethod || function() {
// The body of the method goes here.
}
メソッドが存在するかどうかを "調べる"既存のメソッドが追加しようとしているメソッドとまったく同じように動作するという前提で、盲目的に進んでいれば役に立ちます。 (古いブラウザの標準JSメソッドをポリ充てんするのは問題ありませんが、カスタムメソッドではひどく間違っている可能性があります)。 – nnnnnn
私は個人的にプロトタイプを拡張する代わりにこのための関数を作成します。
プロトタイプを拡張する場合は、チェックするすべてのタイプに確実に追加する必要があります。String
オブジェクトを超えています。あなたのhelp.butのためのあなたのすべてに
function isNull(str) {
console.log(str === null);
}
function isEmpty(str) {
console.log(typeof str == 'string' && str === '');
}
isNull(null);
isNull('');
isNull('test');
isEmpty(null);
isEmpty('');
isEmpty('test');
は、文字列は 'null'なので(文字列や' null'なのですることはできません異なる方法を得ましたタイプ)。 – nnnnnn
C#はnull文字列を許可します.thanksはjsにヌル文字列がないことを知らなかった –