Qual é a diferença entre JavaScript e JScript?


117

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


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.

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.

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 ).


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.


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)


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


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.


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.


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.


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.


-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.


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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.