当前位置:首页 > 技术分析 > 正文内容

WEB:讲清楚Javascript、Typescript、ECMAscript

ruisui881个月前 (05-16)技术分析22



1997年ECMA发布了ECMAscript第一版,此后一直活跃,目前还有2024的草案正在推进。Javascript的主流逐渐统一到这个规范下。





伴随WEB技术的广泛应用,Javascript从浏览器中用来制作动态页面的脚本语言,发展到今天,已经成为前端设计的必备语言,并在nodejs的帮助下进入服务端开发的领域。为了更加适合团队协作,进行大型项目的开发,一些以Javascript为目标语言的编译器陆续出现,如下表所示:


总结来说,ECMASCript是一个规范,Javascript是基于ECMAScript规范一个实现,在基于浏览器作为前端的应用中获得巨大成功;nodejs提供一个运行Javascript的新环境,可独立于浏览器运行,让Javascript有了与其他程序语言一样的地位,可以自由操作文件、访问网络、开启线程等。而Typescript之类的是新的语言,提供更强大的能力来生成Javascript,有利于简化工作,或者更便于团队协作,他们都提供了编译器,用来将对应语言生成Javascript。

Javascript

从数据类型、控制结构、循环、函数、对象、数组、运算符、输入输出可看到JavaScript的基本语法如下表。

在浏览器上工作时,其更主要的工作是操作DOM、结合CSS修改样式,并可以基于HTTP和Websocket与后台服务实现通讯。

在nodejs上工作时,因为nodejs的开放性,其能够非常容易的实现一个web服务程序。例如可以直接使用Json-server服务提供一个mock用来模拟后台服务,方便前端调试。

 const http = require('http');

   // 创建一个 HTTP 服务器
   const server = http.createServer((req, res) => {
       // 设置响应头
       res.writeHead(200, { 'Content-Type': 'text/plain' });

       // 根据请求的 URL 返回不同的响应
       if (req.url === '/') {
           res.end('Welcome to my web service!\n');
       } else if (req.url === '/about') {
           res.end('This is a simple web service created with Node.js.\n');
       } else {
           res.writeHead(404);
           res.end('404 Not Found\n');
       }
   });

   // 服务器监听在 3000 端口
   const PORT = 3000;
   server.listen(PORT, () => {
       console.log(`Server is running at http://localhost:${PORT}/`);
   });


TypeScript

Typescript是热度最高的一个将Javascript作为目标语言的编译语言。类型严格,让其能够在发布之前发现程序的错误。同时对类型、接口、并发进行了更清晰的定义。

Typescript的语法介绍如下,一般typescript需要编译成为javascrtip,使用tsc可以对其进行编译。

# 编写tsconfig.json
{
  "compilerOptions": {
    "target": "es5",                   // 编译目标版本
    "module": "commonjs",              // 模块系统
    "outDir": "./",                    // 输出目录,设置为当前目录
    "rootDir": "./",                   // 输入目录,设置为当前目录
    "strict": true,                    // 开启严格模式
    "esModuleInterop": true,           // 允许默认导入非模块
    "skipLibCheck": true               // 跳过库文件检查
  },
  "include": [
    "**/*.ts"                          // 包含所有 TypeScript 文件
  ]
}

# 执行
tsc --watch



总结

除了Typescript之外,Dart、Kotlin也可以用来生成Javascript,但是生态支持不如Typescript好。目前前端开发主流框架都支持了Typescript,未来ECMAScript会否也纳入Typescritp,估计也是肯定的。




参考资料:

  1. ECMAScript https://262.ecma-international.org/
  2. Javascript https://www.w3schools.com/js/js_versions.asp
  3. Typescript https://www.typescriptlang.org/
  4. Dart https://dart.dev/
  5. Kotlin https://kotlinlang.org/

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4124.html

分享给朋友:

“WEB:讲清楚Javascript、Typescript、ECMAscript” 的相关文章

快速上手React

web前端三大主流框架1、Angular大家眼里比较牛的框架,甚至有人说三大框架中只有它能称得上一个完整的框架,因为它包含的东西比较完善,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能。对于刚开始学习使用框架的小伙伴们,可以推荐这个框架,学会之后简直能颠覆之前你对前端开发的认...

掌握版本控制:Git的那些常见用法与技巧

Git作为现代开发中最常用的版本控制系统,它的普及和高效性使得程序员几乎每天都在与它打交道。无论是个人项目,还是团队协作,Git都能帮助我们追踪代码的修改历史,保证代码版本的管理井井有条,并在多人协作时有效地避免冲突。本文将分享一些常见的Git用法与技巧,帮助你更好地掌握Git的强大功能,并提升你在...

双子座应用程序推出模型切换器以在Android上访问2.0

#头条精品计划# 快速导读谷歌推出了Gemini 2.0 Flash实验版,现已在其安卓应用中可用,之前仅在gemini.google.com网站上提供。新版本的15.50包含模型切换器,用户可以在设置中选择不同模型,包括1.5 Pro、1.5 Flash和2.0 Flash实验版。谷歌提醒,2.0...

12种JavaScript中最常用的数组操作整理汇总

数组是最常见的数据结构之一,我们需要绝对自信地使用它。在这里,我将列出 JavaScript 中最重要的几个数组常用操作片段,包括数组长度、替换元素、去重以及许多其他内容。1、数组长度大多数人都知道可以像这样得到数组的长度:const arr = [1, 2, 3]; console.log(a...

分享15个基于Vue3.0全家桶的优秀开源项目

大家好,我是 Echa。今天来分享 15 个基于 Vue3.0 全家桶的优秀开源项目!1. Vue Admin Bettergithub : https://github.com/chuzhixin/vue-admin-bettervue admin better 对比其他来源 admin 框架有如...

VUE3+JAVA商城源码小程序APP商城

三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端: springboot2.3.12管...