| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> es6学习(四,完结)es6新特性 -> 正文阅读 |
|
[JavaScript知识库]es6学习(四,完结)es6新特性 |
1.关键字 1.1 let关键字: (1)left声明的变量只在所处于的块级作用域{}有效。 只有let声明的变量才具有块级作用域,var声明的变量不具有块级作用域。 优点:防止循环变量变成全局变量。 (2)let声明的变量不存在变量提升。 (3)使用let声明的变量具有暂时性死区的特性。 在块级作用域中声明的变量与块级作用域进行了整体的绑定,不受块级作用域之外的变量的影响。因此上述if块级作用域中,tmp在声明之前先使用了tmp,会报错。这种特性,称为暂时性死区。 经典面试题: ① 输出为2? ?2 ② ?执行时,要去自己对应的块级作用域中查找对应的值。因此输出为0? 1 1.2 const 关键词。 作用:声明常量,常量就是值(内存地址)不能变化的量。 (1)使用const声明的关键字具有块级作用域 ?(2)使用const声明常量时必须赋值 (3)常量赋值后,值(地址)不能修改。 对于基本数据类型来说,一旦赋值,不可更改;对于复杂数据类型来讲,不能重新赋值,但是可以修改内部的值(比如数组、对象) ? ?因为修改复杂数据类型中的内部值,不会修改内存地址。 ?1.3 let? const? var? 声明变量的区别 ?在使用过程当中,如果使用的变量不需要变化,尽量使用const变量。比如函数或者数学中的常量。因为const声明的值不能变化,javascript引擎不需要实时监控值得变化,使用const关键字效率更高。 2. 解构赋值 按照一定模式,从数组中或对象中提取值,将提取出来的值赋给另外的变量。 es6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构。、 2.1 数组解构[? ?] 允许按照一一对应的关系从数组中提取值,然后将值赋值给变量。 ? ?中括号在等号的左边,代表解构。 ?如果解构不成功。let[a,b,c] = [1,2]? 那么输出c时会显示undefined。 ?2.2? 对象解构{? ?} 对象的解构实际是属性的匹配,变量名与属性名进行匹配。匹配成功,将对象属性的值赋值给变量。 写法一:变量名与属性名要相同 ?写法二:允许变量名与属性名不同。 ? 3. 箭头函数 es6中新增的定义函数的方式。箭头函数是用来简化函数定义语法的。 ()=>{}? ?()中放置形参,{}中放置函数体。 一般会起一个名字,然后来调用:? const fn = ()=>{};fn(); 3.1箭头函数特点: (1)函数体中只有一句代码,企鹅代码的执行结果就是返回值,可以省略大括号。 ?(2)如果形参只有一个,可以省略小括号 ?(3)箭头函数不绑定this关键字,箭头函数没有自己的this关键字。指向的是函数定义位置的this。 (4)箭头函数中,没有arguments ?3.2? 面试题 ? ?因为obj不能产生作用域。因此当前是全局作用域,全局作用域中没有age变量,因此输出为undefined ?4. 剩余参数 4.1 什么是剩余参数 ?first接受第一个值,...args表示args接受剩余的参数值。 4. 2. 剩余参数和解构配合使用 ?5. 扩展运算符 5.1 什么是扩展运算符 ? ?输出没有逗号,是因为逗号被console.log当成了参数分隔符,所以输出没有逗号。 5.2 扩展运算符的应用: (1)合并数组 ?(2)将伪数组转变为真正的数组。 ? ? ?转化为真正的数组后,就可以用数组的一些方法,比如push等。 6. Array的扩展方法: 6.1? 构造函数方法:Array.from() ?上面的arrayLike是一个伪数组,属性名必须是0.1.2.。。还有一个length属性。 ?6.2 实例方法:find() 接受的参数为一个函数。find方法会循环数组,同时每次循环时会调用这个方法,将值和索引传递过去. ?6.3 实例方法:findIndex() ?6.4 实例方法:includes()方法 ?在es6之前,检验数组中是否包含某个元素,使用的是inexof方法。 7. String的扩展方法 7.1 模板字符串 ? 特点(1)模板字符串可以解析变量 ? ?特点(2)模板字符串可以换行 ?特点(3)模板字符串中可以调用函数 ?7.2 startsWith()和endsWith() ?7.3 repeat()方法 ?8. Set数据结构 es6提供了新的数据结构Set。类似于数组,但是成员的值都是唯一的,没有重复的值。可以用来存储? 用户搜索的历史关键字。 ? ?(1)数组去重 ?(2)数组遍历 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 2:54:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |