追加する前に何かが存在するかどうかを確認する簡単なシナリオがあります。存在する場合return
は関数です(したがって終了します)。私はこのパターンを何度も使用しており、別の単純な関数で分離したいと考えています。
function onEvent(e){
if( this.has(e) )
return
this.add(e);
// More logic different on an event-basis
}
私はそれを次のように分離したいと思います:
function safeAdd(e){
if( this.has(e) )
return
this.add(e);
}
function onEvent(e){
safeAdd(e);
// More logic
}
しかし、明らかにそうすることはreturn
sだけsafeAdd
で から終了せずonEvent
、残りのロジックはとにかく実行されます。
私は次のようなことができることを知っています:
function safeAdd(e){
if( this.has(e) )
return false
this.add(e);
return true
}
function onEvent(e){
if( !safeAdd(e) )
return
// More logic
}
しかし、これは何度も繰り返すので、できるだけ簡潔にしたいと思います。