難解なJavaScriptのthisの理解が少々あやふや、strictモードとstrictモードの挙動び違いもあることから、call,appley,bindなどでthisを明確にしておく癖をつけた等が無難だと思います。
それと今は自ずからthisがはっきりするclas(prototypeの糖衣構文)を利用するようにしています。無名関数はthisを拘束するArrow関数で書くようにしています。
非strictとstrictモードのthis
落書き人は非strictモードは使わないと決めましたが、世の中にはまだまだ非strictモードのプログラムがあります。
非strictモードとstrictモードでは、変数のスコープが異なります。知らないと不具合を引き起こしますので知っておく必要があります。
※以下の内容は自分だけ納得できればというレベル。^^;