标签:assign das ssi 报错 简写 sign action 取字符串 clu
1、变量声明const和let
es6之前,变量声明使用var关键字;无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升
es6中通常使用const和let来声明变量,let表示变量、const表示常量。let和const都是块级作用域。
let的作用域是在它所在当前代码块,但不会被提升到当前函数的最顶部。(如下代码)
[javascript] view plain copy function aa() { if(bool) { let test = ‘hello man‘ } else { //test 在此处访问不到 console.log(test) } }
const定义的是常量,也就是说,一旦常量被定义赋值,就不能再改变。
const name = ‘lux‘ name = ‘joe‘ //再次赋值会报错
2、模板字符串
第一个用途,基本的字符串格式化。将表达式嵌入字符串中进行拼接。用${}来界定
//es5 var name = ‘lux‘ console.log(‘hello‘ + name) //es6 const name = ‘lux‘ console.log(`hello ${name}`) //hello lux
第二个用途,在ES5时我们通过反斜杠(\)来做多行字符串或者字符串一行行拼接。ES6反引号(``)直接搞定。
// es6 const template = `<div> <span>hello world</span> </div>`
es6提供的字符串方法
// 1.includes:判断是否包含然后直接返回布尔值 let str = ‘hahay‘ console.log(str.includes(‘y‘)) // true // 2.repeat: 获取字符串重复n次 let s = ‘he‘ console.log(s.repeat(3)) // ‘hehehe‘ //如果你带入小数, Math.floor(num) 来处理
ES6为参数提供了默认值。在定义函数时便初始化了这个参数,以便在参数没有被传递进去时使用。
function action(num = 200) { console.log(num) } action() //200 action(300) //300
箭头函数
ES6很有意思的一部分就是函数的快捷写法。也就是箭头函数。
箭头函数最直观的三个特点。
//例如: [1,2,3].map( x => x + 1 ) //等同于: [1,2,3].map((function(x){ return x + 1 }).bind(this))
注意:当你的函数有且仅有一个参数的时候,是可以省略掉括号的。当你函数返回有且仅有一个表达式的时候可以省略{};
var people = name => ‘hello‘ + name //参数name就没有括号
var people = (name, age) => { const fullName = ‘h‘ + name return fullName } //如果缺少()或者{}就会报错
4、扩展的对象功能
对象初始化简写
function people(name, age) { return { name, age }; }
为对象添加方法
//es6为对象添加方法 const people = { name: ‘lux‘, getName () { console.log(this.name) } }
es6中提供了object.assign()方法来实现浅复制,object.assign()可以把任意多个源对象自身可枚举的属性拷贝给目标对象,然后返回目标对象,第一参数即为目标对象,在实际开发中,我们为了不改变源对象,一般会把目标对象传为{}
const obj = Object.assign({}, objA, objB)
5、更方便的数据访问——解构
//对象 const people = { name: ‘lux‘, age: 20 } const { name, age } = people console.log(`${name} --- ${age}`) //数组 const color = [‘red‘, ‘blue‘] const [first, second] = color console.log(first) //‘red‘ console.log(second) //‘blue‘
标签:assign das ssi 报错 简写 sign action 取字符串 clu
原文地址:https://www.cnblogs.com/yuer20180726/p/11173376.html