開発コンソールで以下のコードを順番に実行して結果を確認してみてください

// オブジェクトを生成する
var obj = {};
obj.foo = 'bar';

// オブジェクトを封印(seal)する
obj = Object.seal(obj);
console.log(obj); //-> { foo: 'bar' }

// 封印されたオブジェクトで、既存プロパティの値の変更は可
obj.foo = 'updated';
console.log(obj); //-> { foo: 'updated' }

// 封印されたオブジェクトで、既存プロパティの削除は不可
delete obj.foo;
console.log(obj); //-> { foo: 'updated' }

// 封印されたオブジェクトで、新規プロパティの追加は不可
obj.hoge = 'fuga';
console.log(obj); //-> { foo: 'updated' }

// strict modeでは明示的にTypeErrorが発生
(function() {
  'use strict';
  obj.foo = 'bar'; //-> OK
  delete obj.foo; //-> TypeError
  obj.hoge = 'fuga'; //-> TypeError
})();