
nodejs
文章平均质量分 93
flydean程序那些事
懂程序更懂你!微信公众号:程序那些事 个人主页:www.flydean.com 最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!
展开
-
ECMAScript 2021(ES12)新特性简介
简介ES12是ECMA协会在2021年6月发行的一个版本,因为是ECMAScript的第十二个版本,所以也称为ES12.ES12发行到现在已经有一个月了,那么ES12有些什么新特性和不一样的地方呢?一起来看看吧。基本上ES12引入了replaceAll方法用于对String进行操作,Promise.any用于对Promise进行组合操作,AggregateError用于表示多个错误的集合,新的逻辑操作符??=, &&=, ||=,弱引用WeakRef,FinalizationRegis原创 2021-09-22 11:12:18 · 9263 阅读 · 2 评论 -
ECMAScript 2020(ES11)新特性简介
ES11是ECMA协会在2020年6月发行的一个版本,因为是ECMAScript的第十一个版本,所以也称为ES11.今天我们讲解一下ES11的新特性。ES11引入了9个新特性,我们接下来一一讲解。原创 2021-08-02 08:38:59 · 4980 阅读 · 1 评论 -
ECMAScript 2019(ES10)新特性简介
ES10是ECMA协会在2019年6月发行的一个版本,因为是ECMAScript的第十个版本,所以也称为ES10.今天我们讲解一下ES10的新特性。ES10引入了2大特性和4个小的特性,我们接下来一一讲解。原创 2021-05-04 10:20:23 · 1668 阅读 · 19 评论 -
ES9的新特性:异步遍历Async iteration
在ES6中,引入了同步iteration的概念,随着ES8中的Async操作符的引用,是不是可以在一异步操作中进行遍历操作呢?今天要给大家讲一讲ES9中的异步遍历的新特性Async iteration。原创 2021-04-15 09:23:02 · 4923 阅读 · 1 评论 -
ES9的新特性:正则表达式RegExp
正则表达式是我们做数据匹配的时候常用的一种工具,虽然正则表达式的语法并不复杂,但是如果多种语法组合起来会给人一种无从下手的感觉。于是正则表达式成了程序员的噩梦。今天我们来看一下如何在ES9中玩转正则表达式。原创 2021-04-07 09:06:18 · 5225 阅读 · 1 评论 -
ECMAScript 2018(ES9)新特性简介
ES9是ECMA协会在2018年6月发行的一个版本,因为是ECMAScript的第九个版本,所以也称为ES9.今天我们讲解一下ES9的新特性。ES9引入了3大特性和2个小的特性,我们接下来一一讲解。原创 2021-03-31 07:51:32 · 5041 阅读 · 1 评论 -
深入理解ES8的新特性SharedArrayBuffer
ES8引入了SharedArrayBuffer和Atomics,通过共享内存来提升workers之间或者worker和主线程之间的消息传递速度。本文将会详细的讲解SharedArrayBuffer和Atomics的实际应用。原创 2021-03-23 09:28:23 · 5190 阅读 · 5 评论 -
ES6中的新特性:Iterables和iterators
为了方便集合数据的遍历,在ES6中引入了一个iteration的概念。为我们提供了更加方便的数据遍历的手段。一起来学习一下吧。原创 2021-03-21 23:14:00 · 4617 阅读 · 2 评论 -
ECMAScript 2017(ES8)新特性简介
ES8是ECMA协会在2017年6月发行的一个版本,因为是ECMAScript的第八个版本,所以也称为ES8.今天我们讲解一下ES8的新特性。ES8引入了2大特性和4个小的特性,我们接下来一一讲解。原创 2021-03-17 07:56:10 · 5281 阅读 · 1 评论 -
javascript中的Strict模式
我们都知道javascript是一个弱类型语言,在ES5之前,javascript的程序编写具有很强的随意性,我可以称之为懒散模式(sloppy mode)。比如可以使用未定义的变量,可以给对象中的任意属性赋值并不会抛出异常等等。在ES5中,引入了strict模式,我们可以称之为严格模式。相应的sloppy mode就可以被称为非严格模式。严格模式并不是非严格模式的一个子集,相反的严格模式在语义上和非严格模式都发生了一定的变化,所以我们在使用过程中,一定要经过严格的测试。以保证在严格模式下程序的执行原创 2021-03-15 09:32:35 · 6641 阅读 · 4 评论 -
ECMAScript 2016(ES7)新特性简介
自从ES6(ECMAScript 2015)在2015年发布以来,ECMAScript以每年一个版本的速度持续向前发展。到现在已经是ECMAScript 2020了。每个版本都有一些新的特性,今天本文将会讲解ES7中带来的新特性。原创 2021-03-12 09:36:55 · 6473 阅读 · 0 评论 -
javascript中的闭包closure详解
闭包closure是javascript中一个非常强大的功能。所谓闭包就是函数中的函数,内部函数可以访问外部函数的作用域范围,从而可以使用闭包来做一些比较强大的工作。今天将会给大家详细介绍一下闭包。原创 2021-03-02 20:03:03 · 5952 阅读 · 1 评论 -
javascript中的内存管理
在c语言中,我们需要手动分配和释放对象的内存,但是在java中,所有的内存管理都交给了java虚拟机,程序员不需要在手动进程内存的分配和释放,大大的减少了程序编写的难度。同样的,在javascript中,内存管理也是自动进行的,虽然有自动的内存管理措施,但是这并不意味着程序员就不需要关心内存管理了。本文将会进行详细的介绍javascript中的内存管理策略。原创 2021-03-01 19:54:39 · 5951 阅读 · 1 评论 -
javascript中的模块系统
在很久以前,js只是简单的作为浏览器的交互操作而存在,一般都是非常短小的脚本,所以都是独立存在的。但是随着现代浏览器的发展,特别是nodejs的出现,js可以做的事情变得越来越多也越来越复杂。于是我们就需要模块系统来组织不同用途的脚本,进行逻辑的区分和引用。今天将会给大家介绍一下js中的模块系统。原创 2021-02-28 08:39:05 · 5933 阅读 · 7 评论 -
javascript中的内置对象和数据结构
基本上所有的程序员都使用过javascript,我们在web中使用javascript,我们在服务器端使用nodejs,js给大家的第一映像就是简单,但是可能并不是所有人都系统的了解过js中的内置对象和数据结构。今天,一起来看看吧。原创 2021-02-24 21:27:31 · 5948 阅读 · 1 评论 -
使用V8和node轻松profile分析nodejs应用程序
我们使用nodejs写好了程序之后,要是想对该程序进行性能分析的话,就需要用到profile工具了。虽然有很多很方便和强大的第三方profile工具,但是我们这里主要讲解V8和node自带的profile,因为他们已经足够简单和强大了。使用他们基本上可以满足我们的日常分析需要。原创 2021-02-05 10:10:25 · 7332 阅读 · 4 评论 -
深入理解nodejs的HTTP处理流程
我们已经知道如何使用nodejs搭建一个HTTP服务,今天我们会详细的介绍nodejs中的HTTP处理流程,从而对nodejs的HTTP进行深入的理解。原创 2021-02-03 20:17:17 · 7080 阅读 · 0 评论 -
不要在nodejs中阻塞event loop
我们知道event loop是nodejs中事件处理的基础,event loop中主要运行的初始化和callback事件。除了event loop之外,nodejs中还有Worker Pool用来处理一些耗时的操作,比如I/O操作。nodejs高效运行的秘诀就是使用异步IO从而可以使用少量的线程来处理大量的客户端请求。而同时,因为使用了少量的线程,所以我们在编写nodejs程序的时候,一定要特别小心。原创 2021-02-02 07:34:05 · 6883 阅读 · 1 评论 -
在nodejs中创建cluster
在前面的文章中,我们讲到了可以通过worker_threads来创建新的线程,可以使用child_process来创建新的子进程。本文将会介绍如何创建nodejs的集群cluster。原创 2021-01-31 19:24:05 · 6885 阅读 · 3 评论 -
使用nodejs构建Docker image最佳实践
docker容器的出现,彻底的改变了应用程序的运行方式,而nodejs同样的也颠覆了后端应用程序的开发模式。两者结合起来,就会产生意想不到的作用。本文将会以一个常用的nodejs程序为例,分析怎么使用docker来构建nodejs image.原创 2021-01-29 20:59:53 · 7701 阅读 · 1 评论 -
nodejs的调试debug
对于开发者来说,在开发应用程序的过程中,往往为了开发方便和解决bug需要借助于编程语言的调试功能。一般来说我们需要借助于强大IDE的调试功能来完成这项工作。nodejs也不例外。今天我们来详细介绍一下如何调试nodejs程序。原创 2021-01-27 21:13:16 · 9770 阅读 · 1 评论 -
在nodejs中创建child process
nodejs的main event loop是单线程的,nodejs本身也维护着Worker Pool用来处理一些耗时的操作,我们还可以通过使用nodejs提供的worker_threads来手动创建新的线程来执行自己的任务。本文将会介绍一种新的执行nodejs任务的方式,child process。原创 2021-01-25 20:12:43 · 8077 阅读 · 1 评论 -
nodejs中使用worker_threads来创建新的线程
之前的文章中提到了,nodejs中有两种线程,一种是event loop用来相应用户的请求和处理各种callback。另一种就是worker pool用来处理各种耗时操作。nodejs的官网提到了一个能够使用nodejs本地woker pool的lib叫做webworker-threads。原创 2021-01-21 20:27:05 · 12743 阅读 · 16 评论 -
nodejs中的文件系统
nodejs使用了异步IO来提升服务端的处理效率。而IO中一个非常重要的方面就是文件IO。今天我们会详细介绍一下nodejs中的文件系统和IO操作。原创 2021-01-17 20:16:42 · 7743 阅读 · 1 评论 -
深入理解nodejs中的异步编程
因为javascript默认情况下是单线程的,这意味着代码不能创建新的线程来并行执行。但是对于最开始在浏览器中运行的javascript来说,单线程的同步执行环境显然无法满足页面点击,鼠标移动这些响应用户的功能。于是浏览器实现了一组API,可以让javascript以回调的方式来异步响应页面的请求事件。更进一步,nodejs引入了非阻塞的 I/O ,从而将异步的概念扩展到了文件访问、网络调用等。今天,我们将会深入的探讨一下各种异步编程的优缺点和发展趋势。原创 2021-01-16 12:10:38 · 8528 阅读 · 1 评论 -
使用nodejs和express搭建http web服务
nodejs作为一个优秀的异步IO框架,其本身就是用来作为http web服务器使用的,nodejs中的http模块,提供了很多非常有用的http相关的功能。虽然nodejs已经带有http的处理模块,但是对于现代web应用程序来说,这或许还不太够,于是我们有了express框架,来对nodejs的内容进行扩展。今天我们将会介绍一下使用nodejs和express来开发web应用程序的区别。原创 2021-01-15 19:24:19 · 9288 阅读 · 3 评论 -
nodejs事件和事件循环详解
上篇文章我们简单的介绍了nodejs中的事件event和事件循环event loop。本文本文将会更进一步,继续讲解nodejs中的event,并探讨一下setTimeout,setImmediate和process.nextTick的区别。原创 2021-01-14 16:40:41 · 8325 阅读 · 1 评论 -
ES6中的Promise和Generator详解
ES6中除了上篇文章讲过的语法新特性和一些新的API之外,还有两个非常重要的新特性就是Promise和Generator,今天我们将会详细讲解一下这两个新特性。原创 2020-12-17 21:00:27 · 12680 阅读 · 2 评论 -
nodejs事件和事件循环简介
熟悉javascript的朋友应该都使用过事件,比如鼠标的移动,鼠标的点击,键盘的输入等等。我们在javascript中监听这些事件,从而触发相应的处理。同样的nodejs中也有事件,并且还有一个专门的events模块来进行专门的处理。同时事件和事件循环也是nodejs构建异步IO的非常重要的概念。今天我们来详细了解一下。原创 2020-12-06 21:37:03 · 14432 阅读 · 6 评论 -
javascript开发后端程序的神器nodejs
javascript虽然一直都可以做服务端编程语言,但是它更多的是以客户端编程语言来展示在世人面前的。也许javascript自己都忘记了还可以做服务器端编程,直到2009年nodejs的横空出世。原创 2020-12-04 14:06:23 · 15632 阅读 · 4 评论 -
万字长文深度剖析面向对象的javascript
本将会深入讲解面向对象在javascript中的应用,并详细介绍三种对象的生成方式:构造函数,原型链,类。原创 2020-12-02 09:46:56 · 16037 阅读 · 14 评论 -
第四代Express框架koa简介
熟悉Spring MVC的朋友应该都清楚Spring MVC是基于servlet的代码框架,这是最传统的web框架。然后在Spring5中引入了Spring WebFlux,这是基于reactive-netty的异步IO框架。同样的,nodejs在最初的Express 3基础上发展起来了异步的koa框架。koa使用了promises和aysnc来避免JS中的回调地狱,并且简化了错误处理。今天我们要来介绍一下这个优秀的nodejs框架koa。原创 2020-11-30 09:55:53 · 18166 阅读 · 15 评论 -
ECMAScript 6新特性简介
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,正式发布与2015年6月。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。今天我们将会讲解一下ES6中引入的语法新特性。原创 2020-09-22 09:41:12 · 21356 阅读 · 9 评论