一. 关于ES6

了解一门技术或者语言,最好的方法就是知道它能做些什么

ES6 , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范

那么它为什么会出现呢?

每一次标准的诞生都意味着语言的完善,功能的加强;也就是说随着时代的发展,JavaScript 语言的某些弊端已经不满足企业和开发者的需求了

比如:

  • 变量提升特性增加了程序运行时的不可预测性
  • 语法过于松散

而 ES6 新标准的目的是:

使得JS可以用来开发大型的Web应用,成为企业级开发语言

而企业级开发语言就是:适合模块化开发,拥有良好的依赖管理

那么接下来,我们就来花少量时间,学习开发常用和面试热门的 ES6 吧

二. ES6 模板字符串

在没有模板字符串前,我们拼接字符串变量一般会这样


let a = '小明' let b = '' let c = a + '爱吃' + b // 小明爱吃

而现在我们多了 ES6 提供的 模板字符串的方法


let a = '小明' let b = '' let c = ` ${a} 爱吃 ${b}` // 小明爱吃

三. ES6 判断字符串里是否包含某些值

开发中最常用的,就不做过多说明了,把常用的方法通通列举出来,同学们自取

1. indexOf()

方法可返回某个指定的字符串值在字符串中首次出现的位置

如果要检索的字符串值没有出现,则该方法返回 -1

let str = ''

console.log( str.indexOf('') != -1 );   // false

2. includes()

返回布尔值,表示是否找到了参数字符串

let str = ''

str.includes('') ? console.log( true ) : console.log( false )    // true

3. startsWith()

用来判断当前字符串是否是以另外一个给定的值开头的,根据判断结果返回 true 或 false

参数:

str.startsWith( searchString , [position])

searchString : 要搜索的值

position: 在 str 中搜索 searchString 的开始位置,默认值为 0

例子:

let str = "前端,开发团队"; 

console.log( str.startsWith("前端") );              // true
console.log( str.startsWith("开发团队") ); // false
console.log( str.startsWith("开发团队", 3) ); // true

4. endsWith()

用于判断字符串是否以给定的值结尾,根据判断结果返回 true 或 false

let str = "开发团队"; 

console.log( str.endsWith("队") );              // true

四. ES6 箭头函数

箭头函数的出现简化了函数的定义,让代码更简洁,省去关键字 function

但是也要注意箭头函数的局限性,以及箭头函数中自身没有 thisthis 指向父级

弊端:

  1. 箭头函数没有原型 prototype,因此箭头函数没有 this 指向
  2. 箭头函数不会创建自己的 this,如果存在外层第一个普通函数,在定义的时候会继承它的 this
  3. 箭头函数外层没有函数,严格模式和非严格模式下它的 this 都会指向 window 全局对象

基本写法:


//没有参数,写空括号
let getTitle = () => {
return '开发团队'
}; //只有一个参数,可以省去参数括号
let getTitle = title => {
return title
}; //如果箭头函数有多个参数,将参数依次用逗号(,)分隔,包裹在括号中
let getTitle = (val1, val2, val3, val4) => {
return [val1, val2, val3, val4];
}

五. ES6 对象表达式

如果对象属性和值一样,那么复用时可以省略写值

let a = '';
let b = ''; const obj1 = {
a: a,
b: b,
} const obj2 = {
a,
b,
}

六. ES6 is 判断两个值是否相等

除了最常用的 === 和 ==  用来比较两个值的结果, ES6 又出了新的啦

Object.is(val1,val2)

console.log( Object.is(88, 88) )                // true
console.log( Object.is('猫', '') ) // false

七. ES6 Object.assign() 复制对象


let obj = {}; Object.assign( obj, { name: '猫' } ); console.log( obj ) // { name: '猫' }

八. ES6 块级作用域

首先要搞清楚什么是作用域?

作用域就是一个变量可以使用的范围

在没有 ES6 的 let 之前 ,只有 var 的 全局作用域 和 函数作用域

而块级作用域的意思其实就是一个 {} (代码块),变量只在 {} 中有效

{
let a = '️️';
var b = '1️⃣2️⃣'; console.log( a ) a // '️️'
} console.log( a ) a // ReferenceError: a is not defined.
console.log( b ) b // '1️⃣2️⃣'

上面使用了 var 关键字在块中定义了变量 b ,全局都可以访问得到

但是在实际应用场景中,我们会担心变量泄露,或者重名等问题,我们只想这个变量在当前块中能访问,那么就需要使用到 let 关键字

九. ES6 解构运算符

比如定义一个数组 arr ,在没有 ES6 解构数组前,我们可能会使用 arr[0] 的方式去访问数组内部

而现在,我们有了更多的方式


let arr = ['','',''] console.log( arr[0], arr[1], arr[2] ); // '','','' let [a, b, c] = arr; console.log( a, b, c ); // '','',''

可能有的同学会问了,既然 ES6 有解构数组,那有解构对象吗 ?

那你往下看


let obj = { a: '', b: '', c: '' } let { a: a, b: b, c: c } = obj; console.log( a, b, c ); // '', '', ''

十. ES6 展开操作符

直接看代码啦


let arr = ['☠️', '', '']; console.log(...arr) // ☠️ let obj1 = { name:'猫' , job:'前端'} let obj2 = { hobby:'掘金', ...obj1 } console.log( ...obj2 ) // { hobby:'掘金', name:'猫' , job:'前端'}

总结给大家推荐一个实用面试题库

 1、前端面试题库 (面试必备)            推荐:★★★★★

地址:前端面试题库

2、前端技术导航大全      推荐:★★★★★

地址:前端技术导航大全

3、开发者颜色值转换工具   推荐:★★★★★

地址 :开发者颜色值转换工具

30分钟熟练使用最常用的ES6,还不学是等着被卷死?的更多相关文章

  1. 2016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:5分钟安装 30分钟入门和浏览常用命令

    14:59 2016/1/112016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:注意问题:1.手动安装2.5.0和pear安装方式都成功但是执行时无任何反映, ...

  2. 30分钟掌握ES6/ES2015核心内容(下)

    在 30分钟掌握ES6/ES2015核心内容(上)我们讲解了es6最常用的一些语法:let, const, class, extends, super, arrow functions, templa ...

  3. es6属性基础教学,30分钟包会

    ES6基础智商划重点在实际开发中,ES6已经非常普及了.掌握ES6的知识变成了一种必须.尽管我们在使用时仍然需要经过babel编译.ES6彻底改变了前端的编码风格,可以说对于前端的影响非常巨大.值得高 ...

  4. 30分钟掌握ES6/ES2015核心内容

    30分钟掌握ES6/ES2015核心内容   ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript ...

  5. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  6. let import export React入门实例教程 connect provider combineReducers 箭头函数 30分钟掌握ES6/ES2015核心内容 Rest babel

    let与var的区别 http://www.cnblogs.com/snandy/archive/2015/05/10/4485832.html es6 导入导出 http://www.csdn.ne ...

  7. 30分钟掌握ES6/ES2015核心内容(上)

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  8. 30分钟掌握ES6/ES2015核心内容[上和下], 不错的说

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  9. 最常用的ES6特性

    遇到了要写出es6新特性的题目,所以查阅了资料来总结一下,点击查看原文. 进入正题,最常用的ES6特性有:let, const, class, extends, super, arrow functi ...

  10. 30分钟手把手教你学webpack实战

    30分钟手把手教你学webpack实战 阅读目录 一:什么是webpack? 他有什么优点? 二:如何安装和配置 三:理解webpack加载器 四:理解less-loader加载器的使用 五:理解ba ...

随机推荐

  1. win10 WSL2问题解决“WslRegisterDistribution failed with error: 0x800701bc”

    win10安装wsl过程报错信息如下: 造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后,内核没有升级,前往微软WSL官网下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更 ...

  2. 如何用 30s 给面试官讲清楚什么是 Token?

    引言 前文介绍了 Session-Cookie 的认证过程,简单回顾下基本步骤: 客户端(浏览器)向服务器发送用户名和密码 服务器验证通过后,创建 Session 对象,在 Session 中保存该用 ...

  3. P1278 单词游戏【题解】(状压dp)

    单词游戏 题目描述 Io和Ao在玩一个单词游戏. 他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致. 游戏可以从任何一个单词开始. 任何单词禁止说两遍 ...

  4. Caddy-用Go写的新一代可扩展WebServer

    前几天用 Netmaker 的时候发现它用 Caddy 替换掉了 Nginx,用了后发现确实简单好用,就安利一下. Caddy 是一个强大的.可扩展的平台,用 Go 编写,可以为你的站点.服务和应用程 ...

  5. 字符编码和字符集-FileReader读取jbk格式的文件

    字符编码和字符集 字符编码 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字.英文.标点符号.汉字等字符是二进制数转换之后的结果.按照某种规则,将字符存储到计算机中,称为编码.反之,将 ...

  6. 走进Linux

    走进Linux Linux诞生 ​ BSD,Unix,Minix都是操作系统. ​ 1991年,林纳斯托瓦兹在上大学时,对操作系统很好奇.但是由于 386 BSD 还没有出来.可是他不喜欢他的 386 ...

  7. 分布式id的方案

    1 简介 在分布式系统架构中,通常会涉及到分布式全局唯一ID的生成 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识. 如在金融.电商.支付.等产品的系统中,数据日渐增长,对数据分库分表后需 ...

  8. 安卓逆向 利用JEB进行动态调试断点 进行内购

    1.第一步肯定是需要配置好,连接到模拟器 2.这个程序会弹出支付失败 所以我们搜索一下关键字 看到这里就很兴奋了 我们取JEB里面对这个方法进行断点 if eqz 等于0 这里 看到那个寄存器是v5 ...

  9. Java 优化:读取配置文件 "万能方式" 跨平台,动态获取文件的绝对路径

    Java 优化:读取配置文件 "万能方式" 跨平台,动态获取文件的绝对路径 每博一文案 往事不会像烟雾似的飘散,将永远像铅一般沉重地浇铸在心灵的深处. 不过,日常生活的纷繁不会让人 ...

  10. 欢迎来到 SIXIANG 的 blog~

    很欢迎呢~ SX,海豹叉 Luogu OIer,whker,养老人