ExtJs 5 & 'strict mode'

There are some good discussions on why one should or should not use the strict mode when coding in JS. I am not going to elaborate on that but rather focus on what to do to write an ExtJs class / app in strict mode.

Before going further, a bit of reading on the strict mode:

ExtJs implements its own class system and basically does not support strict mode (here, here). This is the case with ExtJs 5 too so far. But luckily it will not stop us from creating an ExtJs class with strict mode enabled.

So let's have a look at an ExtJs class with strict mode enabled class wide:

(function(){
    //Make sure strict mode is on
    'use strict';

    Ext.define('MyApp.Class1', {

        daNumber: null,

        constructor: function(config){
            //do some work
            this.daNumber = 666;
        },

        gimmeDaNumber: function(){
            return this.daNumber;
        }
    });
}());

So far so good, the class behaves as expected, so let's extend it:

More...