node.js对es6语法学习

2023-05-16

1、es6模板字符串的使用(模板语法)

 


console.log(`${obj.newname}是${obj.name}的另外一个名字,还有就是她今年18岁啦`);  

es6 提供一个语法表示一个字符串,使用的标识符是 反引号; 以前定义字符串使用的: '' ""

1、允许换行 2. 允许在模板字符串里面直接使用变量

2、es6对象简化语法

 

在对象当中会使用到已经定义过的变量,且名字相同时,我们可以直接调用,省略在对象中重新定义的方法。

对对象进行输出以验证省略重复的正确性

 


/*var name = 'andy';
var age = 12;
​
var userInfo = {
    id: 1,
    name: name,
    age: age
}
​
console.log(userInfo);*/
​
let id = 12;
let name = 'andy';
let age = 12;
​
let fn = function(){
    console.log(`my name is ${this.name}` );
}
​
// es6 写法
let userInfo = {
    id,
    // 如果我们的变量的名称和属性的名称一致,则可以直接只写变量名
    name, // name: name
    age,
    fn // 如果我们的函数的名称和属性的名称一致,直接写函数名即可
}
​
console.log(userInfo);
userInfo.fn();
​
​  

3、ES6其他注意事项

注意: es6 语法特性如果是在nodejs的高版本执行没啥问题,高版本支持 es6;

如果是nodejs 低版本 4 5 不支持 es6(ECMAScript6 ECMAScript2015) 除了可以在nodejs 也可以在浏览器执行 注意:浏览器高版本才可以执行, 如果是 IE 678 肯定不认识,直接报错。

需求:浏览器对es6不兼容,如何解决呢? 使用 babel 翻译器 考拉 less sass---考拉--- css es6----babel---es5(基本所有的浏览器全部支持)

在线编译网址:

Babel 中文网 · Babel - 下一代 JavaScript 语法的编译器

4、ES6中函数形参的默认值

规律:声明不写参数,调用时可以在形参中写一个等式赋默认值,若在写了实参与此同时形参里面写了默认值,在最后输出结果为实参中递过来的值


// ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法
function func(x){
    x = x || 1;
    console.log(x);
}
func();  

// ES6 做法,代码简洁易阅读
function func(x = 1){ // 注意当 x 为 undefined 时 x 赋值为 1
    console.log(x);
}
func();
​
function fun(name = 'nodejs', age = 12){
    console.log(name, age);
}
fun();   // 'nodejs', 12
fun("xiaoming", 15);    //"xiaoming", 15  

5、解构赋值指定参数的默认值:简化代码


1、function func2({name, age} = {}){   //防止不传实参时候的报错
    console.log(name, age);
}
func2();   //undefined undefined
​
2、function func2({name="nodejs", age=11} = {}){    //指定默认值
    console.log(name, age);
}
func2();  //nodejs 11  

10、三点运算符

利用在形参中写:“...+变量名”的方式去收集剩余的实参数据,注意在输出时要去除三个点,如下例子中的i;

 

6、扩展运算符(三点运算符即有合并又存在拆解的作用)

 解释:在声明函数当中对数组进行拆解以实参的形式传入形参当中,形参依据一一对应的关系输出前两个对应的变量,剩余的部分依据三点运算符去合并成一个新的数组

1、基本理解 let arr1 = [10, 20, 30];

function func(a, b, c){ console.log(a,b,c) }

func(...arr1); //等效于:func(10,20,30); 输出结果10 20 30

2、合并数组 let arr2 = [40, 50, 60]; let newArr = [...arr1,...arr2]; // 等效于 [ 10, 20, 30, 40, 50, 60 ] console.log(newArr); //[ 10, 20, 30, 40, 50, 60 ]

3、合并对象 let obj1 = { name:"nodejs", age:"11", }; let obj2 = { email:"nodejs@163.com", }; let newObj = {...obj1,...obj2}; // 等效于{ name: 'nodejs', age: '11', email: 'nodejs@163.com' } console.log(newObj); //{ name: 'nodejs', age: '11', email: 'nodejs@163.com' }

4、es6中另一个合并对象的方法

Object.assign()方法,第一个参数填写空数组,第二个参数填写要合并的变量,注意第一个参数里面可以有值存在

let newObj2 = Object.assign({},obj1,obj2); // 把第二个及第二个以上的参数都合并到第1个上面去。 console.log(newObj2); //{ name: 'nodejs', age: '11', email: 'nodejs@163.com' }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

node.js对es6语法学习 的相关文章

  • SyntaxError: Cannot use import statement outside a module

    SyntaxError Cannot use import statement outside a module 错误展示 问题 使用 vs code 调试js 代码 出现 SyntaxError Cannot use import sta
  • Vue 报错:Duplicate keys detected

    Vue 报错 Duplicate keys detected object Object This may cause an update error 在vue 组件中使用 v for 并且加了key 值 如果key 值不唯一 就会出现这样
  • 【面试题】说一下promise的理解

    一 什么是Promise ES6 异步编程的一种解决方案 比传统的方案 回调函数和事件 更加的合理和强大 大家都知道传统解决异步编程用的是回调函数套回调函数 简称回调地域 以前用JQuery的朋友应该是相当熟悉了 维护起来很难搞 回调地域
  • nginx基本介绍(安装、常用命令、反向代理)

    文章目录 引言 一 nginx是什么 二 nginx的下载和安装 1 下载 2 windows下安装 3 运行 4 外部服务器无法访问问题 三 nginx的常用命令 四 nginx config 五 FileZilla 1 什么是FileZ
  • Node.js 版本管理工具 n 使用指南

    Node js 版本更新很快 目前 node v20 x 已经发布 我们在使用时避免不了会需要切换不同的 Node js 的版本来使用不同版本的特性 所以就出现了像 windows 上的 nvm MacOS 上的 n 工具 本文就介绍一下如
  • Vue刻度尺组件

    1 安装刻度尺组件 npm install cs ruler 2 在main js中全局引入组件 import CsRuler from cs ruler 刻度尺组件 Vue use CsRuler 3 组件使用
  • Promise,async,await

    什么是Promise Promise 简单说就是一个容器 里面保存着某个未来才会结束的事件 通常是一个异步操作 的结果 从语法上说 promise是一个对象 从它可以获取异步操作的的最终状态 成功或失败 Promise是一个构造函数 对外提
  • es6查根据对象的某个字段查找到值

    前言 es6查根据对象的某个字段查找到值 实现效果 var 新数组 旧数组 filter item gt item value 0 var arr value 0 label 建筑企业资质 value 1 label 承装 修 试 valu
  • Element ui中menu组件(el-menu/el-menu-item/el-submenu/template) 层级结构和用法

    此篇文章写下的时间是2020年 所以如今Element UI都更新了不知道多少版了 肯定会有些许变化 请勿完全照搬照抄 虽然可能这部分代码没什么大的变动 但还是要以官方文档为准 此文仅仅是借鉴 理解具体思路 然后再按照官方的例子来应用到自己
  • 第一节:数据类型——null,undefined和布尔值

    JavaScript 的数据类型 共有六种 ES6 又新增了第七种 Symbol 类型的值 数值 number 整数和小数 比如1和3 14 字符串 string 文本 比如Hello World 布尔值 boolean 表示真伪的两个特殊
  • ES6迭代器、Set、Map集合和async异步函数

    目录 迭代器 Iterator 的作用 Iterator 的遍历过程 Set Map集合 map和对象区别 async异步函数 迭代器 迭代器 Iterator 就是这样一种机制 它是一种接口 为各种不同的数据结构提供统一的访问机制 任何数
  • ES6中Null判断运算符(??)正确打开方式-

    读取对象属性的时候 如果某个属性的值是null或者undefined 有时候需要为它们指定默认值 常见的作法是通过 运算符指定默认值 const headerText response settings headerText Hello w
  • 了解 node周边生态

    前言 Node js 周边的生态非常强大 NPM Node包管理 上有超过60万个模块 日下超过载量3亿次 但对新人和其它语言背景的开发者来说 了解node周边生态不是一件容易的事 在入门之前需要弄懂不少复杂的概念 废话不多说 来看看本次分
  • 【按照年月去统计信息并分类展示】

    1 前言 需求是需要将历史订单按照年月分类展示 并展示汇总值 由于后端返回的是数组的数据 并没有将数据做好统计分类 出于对自己的自信以及不想给别人添麻烦的信息 然后自己写了一下处理的方法 然后放上最后的效果图吧 2 代码实现 按照月份统计每
  • ES6之Map和Set有什么不同?

    一 Map 1 定义 Map是ES6提供的一种新的数据结构 它是键值对的集合 类似于对象 但是键的范围不限于字符串 各种类型的值都可以当做键 Object结构是 字符串 值 的对应 Map结构则是 值 值 的对应 2 代码示例 Map本身是
  • 【Bun1.0】使用 Bun.js 构建快速、可靠和安全的 JavaScript 应用程序

    bun js Bun 是一个现代的JavaScript运行环境 如Node Deno 主要特性如下 启动速度快 更高的性能 完整的工具 打包器 转码器 包管理 官网 https bun sh 优点 与传统的 Node js 不同 Bun j
  • 138-139-----JS基础-----二级菜单-完成基本功能、过渡效果

    一 代码 这两节的代码还是有点的难度的 有这样的需求时 按照类似的接口去做即可 不一定要和他的需求完全一样 因为我看他的需求好像点开另一个 已经打开的选项会被自动关闭 这样感觉不好 因为可能用户有时想要看到所有的选项的要求
  • 前端基础(三)- ES7~ES12

    为了方便记忆和称呼 ES2015之后的新知识点我们都统称ES6语法 就没必要去划分得那么细 ES7 2016 Array prototype includes includes方法可以判断一个数组是否包含某个指定的值 如果存在返回true
  • 精品Nodejs实现的“音乐盒”小程序的设计与实现-音乐播放器歌曲

    含文档 PPT 源码等 精品Nodejs实现的 音乐盒 小程序的设计与实现 包运行成功 该项目含有源码 文档 PPT 配套开发软件 软件安装教程 项目发布教程 包运行成功 软件开发环境及开发工具 操作系统 Windows 10 Window
  • 【JavaScript】Set方法

    基本用法 ES6 提供了新的数据结构 Set 它类似于数组 但是成员的值都是唯一的 没有重复的值 Set 本身是一个构造函数 用来生成 Set 数据结构 const s new Set 2 3 5 4 5 2 2 forEach x gt

随机推荐

  • JS高级部分对于数据、内存的解析

    内存中堆和栈道区别 xff1a 堆是在内存中开辟的一块较大容量的区域 xff0c 主要用来存放基本值类型的我们可以通过获取地址的方式去获得堆中的基本值类型 xff0c 且堆里面的内容一经存在便不会删除 xff0c 这也就是我们对一个变量实现
  • 原型链概念论述(一)

    对象中的静态成员和实例成员 xff1a 使用构造函数方法创建对象时 xff0c 可以给构造函数和创建的实例对象添加属性和方法 xff0c 这些属性和方法都叫做成员 实例成员 在构造函数内部添加给this 的成员 xff0c 属于实例对象的成
  • 原型链理论概述(二)

    面向对象的思维特点 xff1a 1 xff0e 抽取 xff08 抽象 xff09 对象共用的属性和行为组织 封装 成一个类 模板 xff09 2 xff0e 对类进行实例化 获取类的对象 面向对象编程我们考虑的是有哪些对象 xff0c 按
  • JS中~insertAdjacentHTML() 方法(插入元素到指定位置)

    insertAdjacentHTML 方法将指定的文本解析为 Element 元素 xff0c 并将结果节点插入到DOM树中的指定位置 它不会重新解析它正在使用的元素 xff0c 因此它不会破坏元素内的现有元素 这避免了额外的序列化步骤 x
  • JS中~ 面向对象编程制作tab栏

    面向对象编程制作tab栏 利用constructor属性接收实例对象传递过来的参数去获取和htm结构中的元素 xff0c 在类函数中对各种不同的功能封装成不同的函数 xff0c 在制作过程中相互调用 xff0c 第一步的点击上边按钮与此同时
  • 初识jquery

    jQuery 入口函数 1 function 2 document ready function 注意 xff1a 等着DOM结构渲染完毕即可执行内部代码 xff0c 不必等到所有外部资源加载完成 xff0c jQuery帮我们完成了封装
  • jQuery基础(二)

    xff1a eq获取到的索引号的index从0开始因此eq 2 是标签的第三个标签 选择器筛选 function 34 nav gt li gt a 34 mouseover function this siblings 34 ul 34
  • Thinkphp开启项目分组,绑定二级域名

    如果发现没有效果 xff0c 请开启debug xff0c 清除缓存
  • 链式编程+jQuery中html( )和text( )方法

    事件切换的复合属性写法 xff1a 标签名 hover function 执行函数 function 执行函数 xff0c 这一个方法仅hover可用 jQuery中有个动画队列的机制 xff1a 当我们对一个对象添加多次动画效果时后添加的
  • jQuery动态创建元素,通过元素操作修改购物车相关交互效果

    1 创建元素 语法 34 39 lt li gt lt li gt 34 动态的创建了一一个 lt li gt 2 添加元素 内部添加元素 生成之后 它们是父级关系 外部添加元素 生成之后 他们是兄弟关系 1 内部添加 把内容放入匹配元素内
  • jQuery 尺寸、位置操作

    1 width height 获取设置元素 width和height大小 console log 34 div 34 width 34 div 34 width 300 2 innerWidth innerHeight 获取设置元素 wid
  • jQuery侧边导航栏模块交互效果,导航栏点击事件、卷动事件、节流阀

    任务分析 xff1a 当我们滚动到模块 xff0c 就让电梯导航显示出来点击电梯导航页面可以滚动到相应内容区域核心算法 因为电梯导航模块和内容区模块 对应的当我们点击电梯导航某个小模块 xff0c 就可以拿到当前小模块的索引号 xff0c
  • jQuery学习周记

    周记 本周主要跟着教学视频制作了商城购物车案例 xff0c 页面电梯导航 xff0c 学习了利用jQuery操作尺寸 位置的操作 xff0c 这一部分就类似于JS中的BOM页面文档类型 xff0c 主要是通过对页面卷动事件进行一系列操作 其
  • jQuery自动触发事件与bootstrap/jQuery插件用法

    jQuery自动触发事件 有些事件希望自动触发 比如轮播图自动播放功能跟点击右侧按钮一致 可以利用定时器自动触发右侧按钮点击事件 xff0c 不必鼠标点击触发 语法 xff1a 1 element click 2 element trigg
  • 初识AJAX基础(一)

    1 初识AJAX 1 概要 google suggest A xff1a 通过发送请求到服务器上获取相关数据 B xff1a 发送方式 xff1a 通过URL 超链接 表单验证 C xff1a 将请求的数据发送给服务器获得相关数据 它是浏览
  • 使用nvm切换node方法,以及在nvm中的注意事项

    利用nvm随意下载nodejs版本 使用nvm去切换nodejs版本过程中出现的乱码情况分析 1 nvm安装路径错误导致nodejs下载路径有误 xff0c 无法正常打开 xff08 建议删除 xff0c 重新安装时使用默认路径安装 xff
  • nodejs中对es6语法规范讲解

    1 var的弊端及let关键字 1 var声明的变量有预解析 xff08 变量提升 xff09 xff0c 造成 逻辑混乱 xff0c 可以先使用 xff0c 后声明 2 var可以重复定义同一个变量 xff0c 逻辑错误 xff0c 第二
  • nodejs中解构语法

    1 解构语法 1 对象解构 存在意义 xff1a 简化代码 注意点 xff1a 1 在进行完全解构时 xff0c 属性值内花括号中的属性值的顺序可以随意颠倒 2 解构之后起重命名 let name itsName 61 obj 解构之后重命
  • 使用pt-query-digest分析mysql

    最近在看 高性能MySQL xff0c 作者们背靠Percona向我展示了以前从不知道的一些关于MySQL的知识以及各种分析优化工具 xff0c 比如这里要说的pt query digest 什么是pt query digest pt qu
  • node.js对es6语法学习

    1 es6模板字符串的使用 xff08 模板语法 xff09 console log 96 obj newname 是 obj name 的另外一个名字 xff0c 还有就是她今年18岁啦 96 es6 提供一个语法表示一个字符串 xff0