¿Necesita un atributo de tipo? Si usa HTML5, no. De lo contrario, sí. HTML 4.01 y XHTML 1.0 especifica el typeatributo según se requiera mientras que HTML5 tiene como opcional, por defecto a text/javascript. HTML5 ahora está ampliamente implementado, por lo que si usa el tipo de documento HTML5, <script>...</script>es válido y una buena opción.
En cuanto a lo que debería ir en el atributo type, el tipo MIME application/javascriptregistrado en 2006 está destinado a reemplazar text/javascripty es compatible con las versiones actuales de todos los principales navegadores (incluido Internet Explorer 9). Una cita del RFC relevante :
Por tanto, este documento define text / javascript y text / ecmascript, pero los marca como "obsoletos". Se desaconseja el uso de tipos de medios experimentales y no registrados, como se enumeran en la parte anterior. Los tipos de medios,
* application/javascript
* application/ecmascript
que también se definen en este documento, están destinados a un uso común y deben utilizarse en su lugar.
Sin embargo, IE hasta la versión 8 incluida no ejecuta un script dentro de un <script>elemento con un typeatributo de application/javascripto application/ecmascript, por lo que si necesita admitir el IE antiguo, se quedará con text/javascript.