web-dev-qa-db-fra.com

Shim vs. Sham: Quelle est la différence?

Quelle est la différence entre une cale et une imposture?

Est-il suffisant d'inclure es5-shim.min.js et es6-shim.min.js ou dois-je également inclure es5-sham.min.js et es6-sham.min.js?

48
garbanzio

Selon cette page Github les shims incluent tous les patchs de singe qui représentent fidèlement les fonctionnalités ES5.

En d'autres termes: vous pouvez utiliser les fonctionnalités fournies par ces fichiers comme si vous utilisiez ES5 proprement dit.

Les shams contiennent cependant des fonctionnalités qui ne peuvent pas être émulées avec un autre code. Ils fournissent essentiellement l'API, de sorte que votre code ne tombe pas en panne, mais ils ne fournissent pas la fonctionnalité réelle.

Lesquels avez-vous besoin? Cela dépend de la façon dont vous écrivez votre code. Si vous utilisez uniquement les fonctionnalités fournies par les cales, incluez-les. Si vous souhaitez également (facultativement) utiliser les fonctionnalités des simulations, vous avez besoin des deux.

37
Joachim Sauer