Qual é a diferença entre JavaScript e JScript?

117

Sempre me perguntei O QUE HECK?!? é a diferença entre JScript e JavaScript.

Brian G
fonte
Tenho certeza de que já foi apontado, mas, ou seja, você não pode usar a constpalavra-chave para declarar variáveis: const MY_CONSTANT = 10;
dplante

Respostas:

82

Apenas nomes diferentes para o que é realmente ECMAScript. John Resig tem uma boa explicação .

Aqui está o detalhamento da versão completa:

  • IE 6-7 suporta JScript 5 (que é equivalente a ECMAScript 3, JavaScript 1.5)
  • O IE 8 oferece suporte a JScript 6 (equivalente a ECMAScript 3, JavaScript 1.5 - mais correções de bugs em relação ao JScript 5)
  • Firefox 1.0 suporta JavaScript 1.5 (equivalente ECMAScript 3)
  • Firefox 1.5 suporta JavaScript 1.6 (1.5 + Array Extras + E4X + misc.)
  • O Firefox 2.0 suporta JavaScript 1.7 (1.6 + Generator + Iterators + let + misc.)
  • O Firefox 3.0 é compatível com JavaScript 1.8 (1.7 + Expressões de gerador + Fechamentos de expressão + diversos)
  • A próxima versão do Firefox suportará JavaScript 1.9 (1.8 + a ser determinado)
  • O Opera oferece suporte a uma linguagem equivalente a ECMAScript 3 + Getters e Setters + misc.
  • O Safari oferece suporte a uma linguagem equivalente a ECMAScript 3 + Getters e Setters + misc.
Zach
fonte
15
Isto está errado. JScript oferece suporte a alguns recursos de sintaxe não presentes em JavaScript, incluindo f(x) = y. Veja esta pergunta para mais.
Asad Saeeduddin de
4
@Malachi eu não preciso. A resposta de Patrick está correta.
Asad Saeeduddin,
38

Pelo que eu posso dizer, duas coisas:

  1. Construtor ActiveXObject
  2. O idioma f (x) = y, que é aproximadamente equivalente af [x] = y.
Patrick
fonte
5
O f(x) = yidioma me incomoda mais! Por que, oh por que eles simplesmente não foram com f[x] = y...
Ates Goral
2
A MS precisava adicionar sua marca nesta era. É assim que você sabe que é bom.
cchamberlain
21

Da Wikipedia: http://en.wikipedia.org/wiki/Jscript

JScript é o dialeto da Microsoft da especificação da linguagem de script ECMAScript.

JavaScript (a implementação Netscape / Mozilla da especificação ECMA), JScript e ECMAScript são linguagens muito semelhantes. Na verdade, o nome "JavaScript" costuma ser usado para se referir a ECMAScript ou JScript.

A Microsoft usa o nome JScript para sua implementação para evitar problemas de marca comercial ( JavaScript é uma marca comercial da Oracle Corporation ).

Casademora
fonte
7
Isso não responde à pergunta de forma alguma. A questão é: "Quais são as diferenças entre JavaScript e JScript". A resposta correta está enterrada sob várias reiterações da mesma coisa.
Asad Saeeduddin de
7

JScript é a implementação da especificação ECMAScript da Microsoft. JavaScript é a implementação Mozilla da especificação.

Thomas Owens
fonte
7

Javascript, a linguagem, veio primeiro, da Netscape.

A Microsoft fez engenharia reversa em Javascript e chamou-o de JScript para evitar problemas de marcas registradas com a Sun. (Netscape e Sun eram parceiros na época, então isso era menos problemático)

Os idiomas são idênticos, ambos são dialetos do script ECMA, o padrão posterior.

Embora as linguagens sejam idênticas, como o JScript é executado no Internet Explorer, tem acesso a diferentes objetos expostos pelo navegador (como ActiveXObject)

Alan Storm
fonte
10
Nem os idiomas são realmente idênticos, conforme descrito em outro post.
EFraim
4

JScript é a implementação da Microsoft de Javascript

James Boother
fonte
43
JScript é a implementação de ECMAScript * da Microsoft
Logan Besecker
4

De acordo com este artigo:

  • JavaScript é uma linguagem de script desenvolvida pela Netscape Communications projetada para o desenvolvimento de aplicativos cliente e servidor para Internet. O Netscape Navigator foi projetado para interpretar JavaScript incorporado em páginas da web. JavaScript é independente da linguagem Java da Sun Microsystem.

  • O Microsoft JScript é uma implementação aberta do JavaScript da Netscape. JScript é uma linguagem de script de alto desempenho projetada para criar conteúdo online ativo para a World Wide Web. JScript permite que os desenvolvedores vinculem e automatizem uma grande variedade de objetos em páginas da Web, incluindo controles ActiveX e programas Java. O Microsoft Internet Explorer foi projetado para interpretar JScript incorporado em páginas da web.

Christophe Herreman
fonte
2
@phrj: esta é a definição de Humpty Dumpty de "Aberto". AFAIK, significa "ortogonal".
Shog9
7
Chamar JScript de "alto desempenho" na era pré-V8 faz com que se perceba o quão longe chegamos.
Ray Toal,
6
O segundo item da lista parece um material publicitário - "implementação aberta" na verdade significa "você deve ter a mente aberta para aceitá-la" e "alto desempenho" significa "feito para ser executado em uma máquina de alto desempenho".
Camilo Martin,
4

Há muito tempo, todos os provedores de navegadores estavam criando mecanismos JavaScript para seus navegadores e só eles e Deus sabiam o que estava acontecendo dentro deles. Um belo dia, a ECMA International veio e disse: vamos fazer motores baseados em um padrão comum, vamos fazer algo geral para tornar a vida mais fácil e divertida, e eles fizeram esse padrão. Uma vez que todos os provedores de navegadores fazem seus motores JavaScript baseados no núcleo ECMAScript (padrão).

Por exemplo, o Google Chrome usa o motor V8 e este é um código aberto. Você pode baixá-lo e ver como o programa C ++ traduz um comando 'imprimir' de JavaScript para código de máquina.

O Internet Explorer usa o mecanismo JScript (Chakra) para seu navegador e outros o fazem e todos usam um núcleo comum.

Alexander Gharibashvili
fonte
2

A Wikipedia tem isso a dizer sobre as diferenças.

Em geral, JScript é uma linguagem de script ActiveX que provavelmente é interpretada como JavaScript por navegadores não-IE.

Erlando
fonte
1

Existem algumas diferenças de código a serem observadas.

Um primeiro parâmetro negativo para subtr não é compatível, por exemplo, em Javascript: "string".substr(-1)retorna "g", enquanto em JScript: "string".substr(-1)retorna "string"

É possível fazer "string"[0]para obter "s" em Javascript, mas JScript não suporta tal construção. (Na verdade, apenas os navegadores modernos parecem suportar a "string"[0]construção.

Shiraz
fonte
-5

Jscript é uma linguagem .NET semelhante ao C #, com os mesmos recursos e acesso a todas as funções .NET.

O JavaScript é executado no servidor ASP Classic. Use Classic ASP para executar o mesmo JavaScript que você tem no cliente (excluindo os recursos de HTML5). Só tenho um conjunto de código dessa forma para a maior parte do meu código.

Eu executo .ASPX JScript quando preciso das funções de imagem e arquivo binário (entre muitas outras) que não estão no ASP clássico. Este código é exclusivo para o servidor, mas extremamente poderoso.

Clif
fonte
7
Acho que você está pensando em JScript.Net
Lankymart
-7

JScript é o equivalente da Microsoft ao JavaScript .
Java é um produto Oracle e costumava ser um produto Sun.

A Oracle comprou Sun .

JavaScript + Microsoft = JScript

Raven Myers
fonte
14
Vá devagar com os ousados!
Jowen,
Por que Java? Você quis dizer JavaScript.
Stack0verflow
Uma observação importante para quem pode não saber: JavaScript e Java não são a mesma coisa ou estão relacionados de alguma forma. JavaScript foi originalmente chamado de LiveScript. Mas renomeado para JavaScript para capitalizar a popularidade do Java. Compartilhar o nome é a extensão do que eles têm em comum, além das semelhanças com as linguagens de sintaxe do tipo C.
Bacon Brad