Логический оператор Javascript «!==»?

Я возвращаюсь к веб-разработке и недавно пытался разобраться в нюансах jscript. Я лил исходники библиотеки расширений THREEx, построенной поверх Three.JS, и заметил эту функцию

THREEx.KeyboardState.prototype.pressed  = function(keyDesc)
{
    var keys    = keyDesc.split("+");
    for(var i = 0; i < keys.length; i++){
        var key     = keys[i];
        var pressed;
        if( THREEx.KeyboardState.MODIFIERS.indexOf( key ) !== -1 ){
            pressed = this.modifiers[key];
        }else if( Object.keys(THREEx.KeyboardState.ALIAS).indexOf( key ) != -1 ){
            pressed = this.keyCodes[ THREEx.KeyboardState.ALIAS[key] ];
        }else {
            pressed = this.keyCodes[key.toUpperCase().charCodeAt(0)];
        }
        if( !pressed)   return false;
    };
    return true;
}

В частности, я смотрю на строку здесь:

if( THREEx.KeyboardState.MODIFIERS.indexOf( key ) !== -1 ){

Я не знаком с этим оператором !==. Я проверил w3schools, и в их списке логических операторов нет этого. Я не уверен, что это написано с ошибкой, и браузеры просто считают это != или это имеет какое-то другое значение. Также мне было интересно, является ли это на самом деле одним логическим оператором или это какая-то комбинация, например ! + ==?

50
задан Cory Gross 3 June 2012 в 04:35
поделиться