首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏404

    ES6-11

    ES6 let 变量声明不能重复。 Object.setPrototypeOf(school, cities); console.log(Object.getPrototypeOf(school)); console.log(school); 模块化 好处 防止命名冲突 代码复用 高维护性 产品 CommonJS => NodeJS、Browserify AMD => requireJS CMD => seaJS ES6模块化语法 export 命令用于规定模块的对外接口 import 命令用于输入其他模块提供的功能 // main.js // 分别暴露 export let name = 'chen'; export function skill Symbol Symbol.prototype.description let s = Symbol('sys'); console.log(s.description); // 'sys' ES11

    51320编辑于 2022-04-25
  • 来自专栏Web开发之路

    ES6 模块

    概述 在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库),还有 CommonJS(用于NodeJS)。 ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。 ES6 的模块化分为导出(export) 与导入(import)两个模块。 特点 ES6 的模块自动开启严格模式,不管你有没有在模块头部加上 **use strict;**。 模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等。 每个模块都有自己的上下文,每一个模块内声明的变量都是局部变量,不会污染全局作用域。 每一个模块只加载一次(是单例的), 若再去加载同目录下同文件,直接从内存中读取。 export 命令可以出现在模块的任何位置,但必需处于模块顶层。 import 命令会提升到整个模块的头部,首先执行。

    53810编辑于 2023-10-20
  • 来自专栏Golang开发

    ES6——模块(module)

    运行时加载 在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种,前者用于服务器,后者用于浏览器。 = _fs.stat; let exists = _fs.exists; let readfile = _fs.readfile; 静态加载 ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系 ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。下面代码的是从fs模块加载 3 个方法,其他方法不加载。 这种加载称为“编译时加载”或者静态加载,即 ES6 可以在编译时就完成模块加载,效率要比 CommonJS 模块的加载方式高。 // ES6模块 import { stat, exists, readFile } from 'fs'; export 命令 一个模块就是一个独立的文件,该文件内部的所有变量,外部无法获取。

    1K70发布于 2019-07-15
  • 来自专栏三木的博客

    ES6: 模块编程

    Javascript模块的限制 只能运行于严格模式 模块中的顶级作用域中的变量,不会被自动添加到全局作用域 顶级作用域的this为undefined 导出 如果想让模块中的变量、函数、类被其他模块使用 function print_hello(){}; export default print_hello export { print_hello as default} 导入 如果想使用其他模块中的变量

    15610编辑于 2024-10-09
  • 来自专栏前端全栈开发者

    使用Typescript和ES模块发布Node模块

    我们如何使用现代的JavaScript功能(如ES模块)来编写,同时又能获得TypeScript的所有好处? 我们将在此处针对该模块使用 ES2015,但可以随时进行相应更改。例如,如果我为自己建立一个快速的辅助项目,并且只关心尖端的浏览器,那么我很高兴将其设置为 ES2020。 发布模块时我喜欢做的事情是发布两个版本: 带有ES模块的现代版本,以便捆绑工具可以巧妙地将未使用的代码tree–shake ,因此支持ES模块的浏览器只需导入文件 使用CommonJS模块的版本(如果在 这是可以预期的:我们在ES模块中编写了我们的代码,并告诉TypeScript也要以这种形式输出。 Node还不支持开箱即用的ES模块。发布CommonJS版本也很好,所以Node不需要额外的工作。ES模块支持将出现在Node 13和更高的版本中,但是要赶上生态系统还需要一段时间。

    3.3K20发布于 2020-05-27
  • javascript中 es10,es11,es12特性介绍

    JavaScript ES10、ES11ES12 核心特性详解这三个版本是 ES2019(ES10)、ES2020(ES11)、ES2021(ES12),是现代 JS 开发最常用的进阶语法,我按版本整理最实用 ); // "ES10特性"二、ES11 (ES2020) 核心特性(⭐ 高频实用)1. { name: "小红", info: { age: 18 } };// 传统写法:需要层层判断const age1 = user && user.info && user.info.age;// ES11 动态导入 ​​import()​​异步加载模块,实现按需加载(优化性能)// 用到时再加载,而不是一开始全部加载import(". #age); // 报错,无法访问私有属性总结ES10:数组扁平化、对象键值对互转、精准去空格、简化 ​​catch​​;ES11:可选链 ​​?.​​、空值合并 ​​??​​

    11310编辑于 2026-03-26
  • 来自专栏WebJ2EE

    模块化】:ES6 模块

    ES6 规范 1.1. 导出和导入 1.1.1. Default Exports(默认导出) 1.1.2. Named Exports(命名导出) 1.1.3. ES6 规范 1.1. 导出和导入 1.1.1. module) => { // Do something with the module. }); 1.1.6. import.meta import.meta 是一个给 JavaScript 模块暴露特定上下文的元数据属性的对象 它包含了这个模块的信息,比如说这个模块的URL。 import.meta 1.2. / An Introduction To JavaScript ES6 Modules https://strongloop.com/strongblog/an-introduction-to-javascript-es6

    85510编辑于 2022-03-30
  • 来自专栏农民工前端

    JavaScript ES11新特性

    导文 “ JavaScript ES11,也被称为ES2020,引入了一些新特性和语言改进 可选链操作符(Optional Chaining Operator) 可选链操作符 ?. defaultValue; 动态 import() 函数 能够动态地导入模块,返回一个 Promise 对象,可以在需要时按需加载代码。例如: import(". /module.js") .then(module => { // 使用导入的模块 }) .catch(error => { // 处理导入失败的情况 }); ES11 提供了动态导入模块的能力,通过使用 import() 函数,可以在运行时按需加载模块。 这对于异步加载模块、按需加载代码或实现懒加载非常有用。 BigInt 类型 用于表示任意精度的整数,通过在数字字面量后面添加 n,或者通过调用 BigInt() 方法将其转换为 BigInt 类型。

    40620编辑于 2023-08-18
  • 来自专栏农民工前端

    JavaScript ES11新特性

    导文 JavaScript ES11,也被称为ES2020,引入了一些新特性和语言改进 可选链操作符(Optional Chaining Operator) 可选链操作符 ?. defaultValue; 动态 import() 函数 能够动态地导入模块,返回一个 Promise 对象,可以在需要时按需加载代码。例如: import(". /module.js") .then(module => { // 使用导入的模块 }) .catch(error => { // 处理导入失败的情况 }); ES11 提供了动态导入模块的能力,通过使用 import() 函数,可以在运行时按需加载模块。 这对于异步加载模块、按需加载代码或实现懒加载非常有用。 BigInt 类型 用于表示任意精度的整数,通过在数字字面量后面添加 n,或者通过调用 BigInt() 方法将其转换为 BigInt 类型。

    45010编辑于 2023-06-27
  • 来自专栏ADAS性能优化

    Android 11 --Use ANGLE for OpenGL ES

    ANGLE是Chrome组织中的一个项目,该项目使用Vulkan而不是设备供应商提供的本机ES驱动程序来处理OpenGL ES图形调用 。 这也意味着错误修复程序通常不会传播到所有设备,并有助于导致OpenGL ES生态系统的碎片化。 Android 11,ANGLE APK将包含一个配置文件,以按应用启用ANGLE。 同时,从Android 11开始,您可以使用ANGLE运行非核心应用程序以评估性能并确定特定应用程序是否应使用ANGLE。该评估和选择加入选项使开发人员可以逐渐转向ANGLE。 Vulkan是OpenGL与OpenGL ES的继任者,并且更加高效。ARM日前便公布了一段视频对比了Vulkan API 与OpenGL ES API 在CPU占用率及能效上优劣。 OpenGL ES的CPU占用率在不同情况下大约有20-50%,部分情况下甚至达到60%以上,而Vulan的CPU占用率就低太多了,绝大部分情况下都在5%,或者10%以内,相比OpenGL ES降幅明显

    4.3K10编辑于 2022-05-13
  • 来自专栏分布式|微服务|性能优化|并发编程|源码分析

    11.ES索引模版使用

    index_template/lglbc-log-template 添加索引数据,验证模版 PUT lglbc-template-log-002/_doc/1 { "create_time":"2023-10-11

    54710编辑于 2023-12-14
  • 来自专栏零域Blog

    ES6中的模块

    在网上了解了ES6模块的一个基本机制,所以记录一下笔记。 ES6中模块不会重复执行 一个模块无论被多少个地方引用,引用多少次,模块内部始终只执行一次。 ES6中模块输出值的引用 在ES6中,导出输出的值会动态关联模块中的值: // count.js let count = 0 let add = function () { count ++ } export ES6模块循环依赖 import 会优先执行,跟位置无关 // a.js console.log("a.js") import { b } from ". 感觉CommonJS的加载方式套用在ES6,ES6的加载方式套用在CommonJS都能说的通。。CommonJS模块不也是只会加载一次嘛,套用在ES6感觉都没毛病。。。 但是,ES6可以执行上面的代码,a.js之所以能够执行,原因就在于ES6加载的变量都是动态引用其所在模块的。只要引用存在,代码就能执行。

    41910编辑于 2022-03-21
  • 来自专栏运维小路

    Elasticsearch(ES模块结构图

    中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分: Web服务器 代理服务器 ZooKeeper Kafka RabbitMQ Hadoop HDFS Elasticsearch ES (本章节) 前面我们用了3个小节来介绍ES所涉及到底层技术:倒排索引,分词,Lucene,今天来贴一个整个架构图。 数据处理 ) 3rd Plugins :表明发现机制是可扩展的,可以通过插件实现自定义的发现策略(例如,基于 Consul, Kubernetes, GCE, Azure 等的发现插件) 第四层: 核心功能模块 Index Module:索引模块,负责索引的创建、删除、分片管理等,是数据写入 Elasticsearch 的基础流程。 Search Module:搜索模块,实现查询解析、执行、结果聚合等,支撑复杂搜索需求(如全文检索、过滤、排序 )。

    30610编辑于 2025-09-30
  • 来自专栏埋名

    TypeScript 导出 CommonJS 和 ES 模块

    要导出到 TypeScript 中的 CommonJS 和 ES 模块,请在导出中设置默认属性: myModule.default = myModule; export = myModule; 借助 Bun,使用 CommonJS 加载 Babel 的速度大约比使用 ES 模块快 2.4 倍。 ES Modules 要导出 ES 模块中的默认值: // index.ts // ... export default myModule; 通过运行 tsc index.ts 验证输出: // index.js /index').default; CommonJS + ES Modules 如果您尝试导出 CommonJS 和 ES 模块: // index.ts // ... export = myModule 因此,您可以使用 CommonJS 和 ES 模块语法导入: // CommonJS const myModule = require('.

    1.2K20编辑于 2023-08-28
  • 来自专栏GreenLeaves

    ES 安全认证模块之XPack

      X-Pack是ES扩展功能,提供安全性,警报,监视,报告,机器学习和许多其他功能。 ES7.0+之后,默认情况下,当安装Elasticsearch时,会安装X-Pack,无需单独再安装。 具体查看官方文档相关配置项也在官方文档中, ES版本是8.2.3,环境windows server2012 R2 1、创建证书颁发机构  cmd定位到es运行时(bin)目录输入以下命令 elasticsearch-certutil ca 提示输入密码和文件输出路径,可以直接回车,也可以输入密码和输入自定义存放路径进行设置.回车的话,会生成如下文件  后缀为ca的证书颁发机构文件 2、为节点创建证书文件  cmd定位到es运行时 truststore:存放信任的证书 keystore和truststore都存放key,不同的地方是truststore只存放公钥的数字证书,代表了可以信任的证书,keystore存放私钥相关. cmd定位到es 的9200端口,kibana_system配置后才可以正常对接kb和es (3)、查看授权 elasticsearch-users roles -v 用户名  授权成功. (4)、修改kibana配置文件

    2.1K30编辑于 2023-04-08
  • 来自专栏九彩拼盘的叨叨叨

    ES6 模块写法示例

    模块导出 导出默认 export default { foo: 'bar' }// CommonJS module.exports = { foo: 'bar' } 导出带名字的 export var foo = 'bar' // CommonJS module.exports.foo = 'bar' export var baz = 'ponyfoo' 模块导入 导入默认的 import _ from 参考 ES6 Modules in Depth ECMAScript 6 modules: the final syntax

    49530发布于 2018-08-24
  • 来自专栏前端技术江湖

    ES7、ES8、ES9、ES10、ES11ES12新特性大全!

    ES7 ES2016(ES7)中新增了如下特性 Array.prototype.includes Exponentiation Operator 一、Array.prototype.includes 1.1 () { // // es10新特性 // console.log('imooc') // } ES11 ES2020(ES11)新增了如下新特性: 空值合并运算符(Nullish coalescing = user && user.address && user.address.getNum && user.address.getNum(); console.log(street, num); ES11 在松散模式下,可以在函数中返回 this 来获取全局对象,但是在严格模式和模块环境下,this 会返回 undefined。 status: 'rejected', reason: Error: an error } // ] 七、Dynamic import(按需 import) import 可以在需要的时候,再加载某个模块

    76810编辑于 2024-07-04
  • 来自专栏前端精读评论

    精读《图解 ES 模块

    精读《图解 ES 模块ES 模块为 JavaScript 开发者带来了官方并且标准化的模块系统。模块标准化来之不易,用了近 10 年的时间。漫长的等待就要宣告结束了。 随着五月份(2018)即将发布的 Firefox 60,几乎所有的主流浏览器都将支持 ES 模块,并且 Node 模块工作组也正尝试将 ES 模块支持到 Node 环境。 本期精读文章和大家一起了解 ES 模块,讨论它能够解决的问题以及与其他模块系统间的差别。 1. 引言 精读文章主要讨论了下面几点: 模块旨在解决那些问题; 模块为开发者带来哪些; ES 模块化的工作机制; ES 模块化的现状; 2. 之所以说 ES 模块是异步的,正是因为 ES 模块将这三个步骤划分开。实际上在 CJS 中模块和相关的依赖都是一次完成加载,安装和赋值的。 ES 模块需要借助模块加载器来实现这三步。

    86530编辑于 2022-03-14
  • 来自专栏小丞前端库

    ES6模块

    模块ES6模块化原理 使用闭包封装了私有变量和方法,暴露一个接口供其他部分调用 <script> let module = (function(){ const moduleList msq', price: 78 }] console.log(tools.max(data,"price")); }) </script> 模块化的使用 /*导出*/ let title = 'houdun'; let show = function() { console.log(123); } export {title , show} 模块会延迟解析 ,只解析一次 每个模块都有自己的独立作用域,只通过export来暴露端口 批量打包 import * as api from "/tools.js"; api.show() 返回的api是对象 通过将所有的模块引入到一个index模块中,最后再一次导出index模块 为了避免导出现多个模块中有重复命名的问题,将每个模块通过批量导出的方法,引入到index中,原理就是批量导出返回的是对象

    65710发布于 2021-08-16
  • 来自专栏技术社区

    ES6、ES7、ES8、ES9、ES10、ES11ES12、ES13新特性大全

    本文是对 ES6 至 ES13 常用到的特性的总结,关于每个特性的详细内容,都有单独的文章进行详细讲述,可以跳转到具体文章进行学习查看。学习永无止境大家一起努力 。 文章为从新到旧的顺序。 )的新特性总结 ECMAScript 2020(ES11) 动态 import ():按需导入 空值合并运算符:表达式在 ?? promise已被决议或被拒绝后决议的promise,并带有一个对象数组,每个对象表示对应的promise结果 for-in 结构:用于规范for-in语句的遍历顺序 ECMAScript 2020(ES11 2015(ES6) let和const 类(class) 模块化(ES Module) 箭头(Arrow)函数 函数参数默认值 模板字符串 解构赋值 延展操作符 ... 对象属性简写 Promise ES6 入门教程 阮一峰 ​ es6.ruanyifeng.com/

    2.8K10编辑于 2022-06-16
领券