![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
es6
朱迪33
这个作者很懒,什么都没留下…
展开
-
12、对象的几个扩展方法之 Object.assign
一、Object.assign()const target = { name: 'Judy', age: 4}const source1 = { name: 'tiger', sex: 'male'}const source2 = { name: 'carl', height: 100}// const result = Object.assign(target, source1)// target中有,source中没有的,则保持原创 2021-06-07 06:43:49 · 120 阅读 · 0 评论 -
11、对象字面量增强
ES2015升级了对象字面量的语法// 传统// 1 对象里面使用 属性名:属性值 的语法,即便是使用变量也必须是 属性名:变量名// 2 为对象添加方法// 3 添加动态属性,属性名必须是个明确的值或者规范的变量名称,只能在对象声明过后通过索引器的方式动态添加属性const age = 4const randomKey = Math.random()const obj = { name: 'carl', age: 4, method1: function() {原创 2021-06-07 05:53:49 · 303 阅读 · 0 评论 -
10、箭头函数
// 1、定义函数表达式 // 传统 function inc(n) { return n + 1 } // ES2015:简化了定义函数的代码 const incNew = n => n + 1 console.log(inc(1)) // 2 console.log(incNew(1)) // 2 //2、箭头函数语法说明 // 箭头左边是参数列表,多个参数用圆括号包起来 // 箭头右边是函数体,只有一句表达式,表达式的结果会作为结果返回;如果使用{}...原创 2021-06-01 07:13:07 · 94 阅读 · 0 评论 -
9、...操作符扩展数组的用法
// 展开数组 ...// 函数参数展开:将数组里面的元素依次传递给函数const arr = ['cat', 'yoyo', 'tiger']// 传统方法// 已知数组个数console.log(arr[0], arr[1], arr[2]) // cat yoyo tiger// 未知数组个数console.log.apply(console, arr) // cat yoyo tiger// ES2015之后用...展开数组console.log(...arr) /...原创 2021-06-01 06:38:42 · 219 阅读 · 0 评论 -
8、函数形参列表拓展的新语法
1、参数的默认值直接在形参后面通过等号设置默认值// 注意有多个参数的,有默认值的参数要放到最后,跟ts一样// ES2015之前设置默认值function paramFn(switcher) { // 设置默认值 switcher = switcher === undefined ? true : switcher; // 注意此处使用短路运算符是有问题的,例如switcher = switcher || true console.log('paramFn原创 2021-05-29 22:34:23 · 95 阅读 · 0 评论 -
7、字符串的常用扩展方法
1、includes() starsWith() endsWith() 一组方法,更方便的判断字符串中是否有指定内容const str = 'Error: aa is not defined.'// 字符串中间是否有指定内容console.log(str.includes('aa')) // true// 字符串开头是否有指定内容console.log(str.startsWith('Error')) // true// 字符串结尾是否有指定内容console.log(str.endsWi原创 2021-05-27 06:37:32 · 83 阅读 · 0 评论 -
6、模板字符串
传统定义字符串的方式是单引号或双引号,ES2015中增强了定义字符串的方式,新增了模板字符串,用反引号标识··一、模板字符串与传统定义字符串相同之处如果直接使用跟普通字符串没什么区别,如果要在内容中使用反引号也可以用\去转义// 模板字符串方式,内部使用反引号const str = 'hello, \`ECMA\` world'console.log(str) // hello, `ECMA` world// 单引号方式,内部使用反引号const str1 = 'hello, \`E原创 2021-05-26 07:20:50 · 145 阅读 · 0 评论 -
5、对象解构
1、数组解构与对象解构对比因为数组中的元素有下标,是有顺序规则的,所以数组的解构可以通过位置进行提取,而对象里的成员没有固定次序,不能像数组一样按照位置提取,那么对象的解构是通过属性名进行提取的2、对象解构基本用法书写方式及匹配原则:对象解构使用花括号,花括号里面的变量名要匹配解构对象中的属性名去提取其中的值,如果不能匹配到则返回undefined 设置默认值:对象解构同数组解构一样也可以设置默认值 重命名:由于解构的变量名用来匹配被解构对象中的属性名的,如果碰到作用域中有同名成员会产生冲原创 2021-05-25 12:33:20 · 1218 阅读 · 0 评论 -
4、数组的解构
解构是ES2015新增的从数组或对象中获取指定元素的一种快捷方式,这是一种新的语法。数组解构的基本使用:const arr = ['Judy', 'Alex', 'Carl']// ES2015之前获取指定元素需要通过索引获取然后放到一个变量当中const user1 = arr[0]const user2 = arr[1]const user3 = arr[2]console.log(user1, user2, user3) // Judy Alex Carl// ES2原创 2021-05-23 22:22:51 · 1217 阅读 · 0 评论 -
3、const
const 声明一个只读的恒量或常量,变量声明过后不许允许被修改,也就是说const在声明的同时就必须赋值const name = 'Judy'name = 'Carl' // TypeError: Assignment to constant variable.const声明的成员不能被修改,实质上是不允许声明后的变量指向一个新的内存地址,并不是不允许修改恒量中的属性成员。const obj = {}obj.a = 1console.log(obj) // { a: 1 }o..原创 2021-05-23 21:39:28 · 57 阅读 · 0 评论 -
2、let 和 作用域
一、作用域概念:代码中的某个成员能够起作用的范围分类:全局作用域 函数作用域 块级作用域(ES2015加入,{}一对大括号代表一个块级作用域):二、变量声明1、var 在块内定义的成员,外部可访问,对于复杂的代码这是非常不利且不安全的 存在变量提升,在声明之前打印的话结果是undefined if(true) { var name = 'Judy'}console.log(name) // Judy2、let 声明的变量只能在代码块内使用,原创 2021-05-22 07:43:59 · 256 阅读 · 0 评论 -
1、ES6开篇
一、ECMAScript 与 JavaScript ECMAScript也是脚本语言,简称es,通常将它看作js的标准规范,但实际上js是ECMAScript的扩展语言。因为ECMAScript只是提供了最基本的语法,停留在语言层面,并不能直接用来完成业务1、了解语言和平台的关系 (1)在浏览器中,js包含ECMAScript和WEB APIS(BOM DOM) (2)在nodejs中,js包含ECMAScript和NODE APIS(fs net etc.)二、ECMAScri...原创 2021-05-21 12:46:59 · 62 阅读 · 0 评论