欢迎来真孝善网,为您提供真孝善正能量书籍故事!

探索第15天:深入理解ES6核心特性

时间:11-07 现代故事 提交错误

大家好,关于探索第15天:深入理解ES6核心特性很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

JSON字符串和对象直接的转换

1. JSON.parse 函数

功能:将JavaScript Object Notation (JSON) 字符串转换为对象,具有json 格式检测功能。

2. JSON.stringify()函数

功能:将JavaScript 值转换为JavaScript 对象表示法(JSON) 字符串

3. eval()函数---性能不如JSON.parse(),安全性也不好。

功能:eval()函数可以计算一个字符串并执行其中的JavaScript代码。

eval() 在解析代码时还使用一对括号来包裹字符串。其目的是强制eval函数在处理JavaScript代码时将括号内的表达式转换为对象,而不是作为语句执行。

例如: eval("{}") 和eval("("+"{}"+")")

eval 比JSON.parse() 更旧。

let和const关键字(http://es6.ruanyifeng.com/)

ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

不存在变量提升

只要块级作用域内存在let命令,它所声明的变量就“绑定”这个区域,不再受外部的影响。

let不允许在相同作用域内,重复声明同一个变量。

ES6允许块级作用域的任意嵌套,外层无法读取内层作用域的变量,反之可以

010-1 010

允许在块级作用域内声明函数

010- 1010 ES6 允许你按照一定的模式从数组和对象中提取值,并对变量进行操作。赋值,这称为解构。

解构的作用是快速获取数组或对象中的元素或属性,而不需要使用arr[x]或obj[key]等传统方法进行赋值。

const声明一个只读的常量。一旦声明,常量的值就不能改变。

const声明的常量,也与let一样不可重复声明。

const的作用域与let命令相同:只在声明所在的块级作用域内有效。

变量的解构赋值

数组的解构赋值

扩展运算符由三个点表示。它的功能是将数组或类似数组的对象扩展为一系列值。

对象的解构赋值

其余运算符也有三个点,但其功能与展开运算符正好相反。它将逗号分隔的值序列组合成一个数组。

字符串的解构赋值。

函数参数的解构赋值(利用数组和对象解构传参赋值)

模板字符串是该字符串的增强版本,用反引号(`) 标记。它可以用作普通字符串,也可以用来定义多行字符串,或者在字符串中嵌入变量。

扩展运算符

rest运算符

字符串扩展

模板字符串

repeat(n)方法返回一个新字符串,表示将原字符串重复n次。

includes():返回布尔值,表示是否找到了参数字符串。

startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。

1、函数体中的this对象是定义它的对象,而不是使用它的对象。这不会改变。

2.不能作为构造函数使用,也就是说不能使用new命令,否则会抛出错误。

3. 不能使用函数体中不存在的arguments对象。

4. 箭头函数必须是匿名函数。

5.箭头函数应用总结:

endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。

=函数

函数默认值

箭头函数有几个使用注意点。

箭头函数适合于无复杂逻辑或者无副作用的纯函数场景下,例如用在map、reduce、filter的回调函数定义中;

基本数据类型:null 未定义数字布尔字符串符号

引用数据类型:对象

Symbol(): 将第一个字母大写。

符号函数之前不能使用new,否则会报错。原因是符号是原始类型值,而不是对象。

1.符号函数接收一个字符串作为参数,该字符串代表符号的描述。主要是为了在控制台显示或者转换成字符串时更容易区分。描述内容仅与描述相同,不代表其他任何意思。

2.符号数据类型转换。

可以使用String() 和toString() 将符号转换为字符串

使用Boolean() 或!转换为布尔值(仅限真值)

无法转换为数字。

不能使用任何运算符。

3. 作为对象的属性名称。

4、注意事项

[symbol()] 不能直接用作键值。最好加上相应的参数来区分,不能用for.in来遍历。但您可以通过Object.getOwnPropertySymbols(obj) 方法获取对象的所有符号属性。

不要在最外层定义箭头函数,因为在函数内部操作this会很容易污染全局作用域。最起码在箭头函数外部包一层普通函数,将this控制在可见的范围内;

ES6提供了数据结构集。它类似于数组,但成员的值是唯一的,不存在重复值。

Set本身是一个构造函数,用于生成Set数据结构,并以数组作为参数。

每个项目既是键又是值。

1. 创建集合;

2.Set类的属性--size

3.Set类的方法

Set.add(value) 添加数据并返回Set 结构本身,允许链式操作。

set.delete(value) 删除指定数据,并返回一个布尔值,表示删除是否成功。

Set.has(value) 判断该值是否是Set的成员并返回一个布尔值。

Set.clear() 清除所有数据,无返回值。

forEach():使用回调函数遍历每个成员

箭头函数最吸引人的地方是简洁。在有多层函数嵌套的情况下,箭头函数的简洁性并没有很大的提升,反而影响了函数的作用范围的识别度,这种情况不建议使用箭头函数。

JavaScript 对象只能使用字符串作为键。这给它的使用带来了很大的限制。 ES6提供了Map数据结构。它类似于对象,但“key”的范围不限于字符串。各种类型的值(包括对象)都可以用作键。

1. 创建地图

2.地图类的属性--size

3.Map类方法

map.set(key,value) : 设置键名key对应的键值,然后返回整个map结构。如果key已经有值,则更新key值,否则生成key,可以上链。

map.get(key) get方法读取key对应的键值。如果找不到该键,则返回undefined。

map.delete(key) 删除一个键并返回true。如果删除失败,则返回false。

map.has(key) 方法返回一个布尔值,指示某个键是否在当前地图对象中。

map.clear() 清除所有数据,无返回值

map.keys() 返回键名称的遍历器

map.values() 返回键名/键值的遍历器

map.entries() 返回键值对的迭代器

map.forEach() 使用回调函数来迭代每个成员。

Symbol类型

symbol--表示独一无二的值,它是js中的第七种数据类型。

1.Array.from()方法用于将对象转换为真正的数组(array-like to array)

2. Array.of()方法用于将一组值转换为数组。

3. fill() 方法用给定值填充数组。

Set(array)和Map(object)结构

1. 对象的简洁表示

2、object.assign()用于合并对象,将源对象的所有可枚举属性复制到目标对象。

数据结构--map

数组和对象的扩展

1了解类面向对象编程

2掌握es6语法的灵活运用

OK,关于探索第15天:深入理解ES6核心特性和的内容到此结束了,希望对大家有所帮助。

用户评论

冷眼旁观i

今天学了ES6?厉害了!感觉最近前端技术更新好快。

    有6位网友表示赞同!

鹿叹

学习目标明确!一直想了解一下ES6到底有什么功能,终于有了时间来好好看一看!

    有8位网友表示赞同!

冷青裳

我也是刚开始接触ES6,好多新语法都觉得很有意思!

    有18位网友表示赞同!

来瓶年的冰泉

有没有推荐一些好的ES6教程啊?感觉自己还是不太理解。

    有18位网友表示赞同!

限量版女汉子

加油,坚持学习!这种语言基础知识真的很重要。

    有12位网友表示赞同!

暖瞳

学习编程需要不断练习和积累经验,期待看到你的新作!

    有20位网友表示赞同!

あ浅浅の嘚僾

ES6能大大提高代码的效率和可读性吧?

    有18位网友表示赞同!

繁华若梦

了解那些新的箭头函数和默认参数吗?感觉都挺酷炫的!

    有9位网友表示赞同!

北朽暖栀

学习新技术是一件很开心的事,每天都有进步!

    有10位网友表示赞同!

陌潇潇

希望以后能有机会用ES6写一些有趣的项目体验一下!

    有13位网友表示赞同!

半梦半醒半疯癫

学习编程语言确实需要长期坚持,要保持耐心和热情!

    有6位网友表示赞同!

*巴黎铁塔

你什么时候把学习的ES6知识用在实际项目中呢?

    有9位网友表示赞同!

聽風

分享一下你今天学习到的ES6内容吧,让我也跟着一起涨姿势!

    有7位网友表示赞同!

凝残月

我一直觉得学习编程是一个不断探索的过程,充满乐趣和挑战!

    有11位网友表示赞同!

灵魂摆渡人

有没有遇到什么比较疑惑的ES6语法点呢?可以互相探讨一下!

    有6位网友表示赞同!

三年约

继续努力学习,相信你很快就可以掌握ES6了!

    有5位网友表示赞同!

念旧情i

学习新知识真的很充实,感觉自己越来越厉害了!

    有8位网友表示赞同!

妄灸

期待你能分享更多关于ES6的学习经验和心得!

    有19位网友表示赞同!

挽手余生ら

加油呀,祝你的學習之路一切顺利!

    有16位网友表示赞同!

十言i

做为程序员,掌握最新的技术趋势很重要!

    有17位网友表示赞同!

【探索第15天:深入理解ES6核心特性】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活