一般法とグローバル変数
うえだです。
ローカル変数とグローバル変数。ご存知ですよね。 プログラマにとって変数のスコープは重要です。
法律や契約書などを読むときにもスコープを意識する必要があります。 今日は、法律のスコープの話です。
一般法と特別法
一般法(いっぱんほう)とは、適用対象がより広い法のことを、特別法(とくべつほう)とは、適用対象がより特定されている法のことをいう。両者の区別は相対的である。
ざっくり言うと、一般法とはグローバル変数で、特別法とはローカル変数です。 ローカル変数がある場合は、ローカル変数が優先されますし、ない場合はグローバル変数が呼ばれます。
契約解除のための一般的な手続きは、民法に規定されています。と、同時に特定商取引法にも記載されています。この場合、特定商取引法は特別法として扱われ、特定の条件の時(訪問販売等)のみ有効となります。
<html> <head> </head> <body> <script type="text/javascript" language="javascript"> document.open(); var keiyaku_kaijo = "民法"; document.write(keiyaku_kaijo + "<br />"); // > 民法 (function(){//訪問販売 var keiyaku_kaijo = "特定商取引法"; document.write(keiyaku_kaijo + "<br />"); // > 特定商取引法 })(); document.write(keiyaku_kaijo + "<br />"); // > 民法 document.close(); </script> </body> </html>
こんなイメージでしょうか。
.addEventListener('訪問販売', function(){})
みたいなコードにしたかったんですが、出来るんでしょうか。 教えてください。
法律のスコープの見分け方
JavaScriptのコードであれば、スコープチェーンとかクロージャーとかのキーワードで検索していけば、どこの変数が呼ばれているのかわかります。 では、法律の場合どうやって見分ければいいのでしょうか。
見分け方1:条文に一般法と明記してある。
第一条 行政事件訴訟については、他の法律に特別の定めがある場合を除くほか、この法律の定めるところによる。
このように、条文に一般法であることとその適用範囲が明記されていることがあります。 わかりやすいですね。
見分け方2:条文に特別法と明記してある。
第十一条 法第九十四条第一項 又は第二項 の規定により厚生年金保険の標準報酬月額を改定された厚生年金保険の被保険者が厚生年金基金の加入員である場合においては、当該標準報酬月額を改定された月に係る当該加入員の標準給与の改定の方法については、厚生年金基金令第十八条の規定にかかわらず、法第九十四条 の規定の例によることができる。
東日本大震災に対処するための特別の財政援助及び助成に関する法律の厚生労働省関係規定の施行等に関する政令
規定にかかわらずっていうあたりが、特別法感を醸していますね。いいですね。
見分け方3:感じる
1 年齢ハ出生ノ日ヨリ之ヲ起算ス
より起算する、から起算してとかの表現は初日不算入の原則の例外(特別法)として扱われます。
感じて、覚えるしかなさそうです。
まとめ
民法に書かれている「初日不算入の原則」が一般的な契約書にも影響してくる理由がわかりませんでした。民法のスコープが謎でした。 しかし、今回の勉強を通じてやっぱり謎でした。