标签:ES6 console log 解构 let ECMAScript 字符串 name
1.1 什么是ECMA
ECMA(European Computer Manufacturers Association)中文名称为 欧洲计算机制造协会,这个组织的目标是评估,开发,和认可电信和计算机标准.1994年后该组织 改名为 Ecma国际.
1.2 什么是ECMAScript
ECMAScript 是 JavaScript语言的标准
1.3 为什么要学习ES6
- ES5语言的先天性不足。比如变量提升,内置对象的方法不灵活、模块化实现不完善等等
- 为了后面vue、react等框架学习做准备
- ES6是前端发展趋势,就业必备技能
2. ES6新特性
2.1 let关键字
let关键字 用来声明变量,使用let声明变量的特点:
1.不允许重复使用
2.{} 代表块级作用域,let有块级作用域,var只有函数作用域
3.没有域解析过程(既没有变量提升,var有变量提升)
2.2 const关键字
let关键字 用来声明变量,const声明有以下特点:
1.声明必须赋初始值
2.标识符一般为大写
3.不允许重复声明
4.值不允许修改
5.块儿级作用域
2.3 变量的解构赋值
ES6允许按照一定模式 从数组和对象中提取值,对变量进行赋值,这就被称为解构赋值.
2.3.1 数组的解构赋值
const arr = ['张学友','刘德华','黎明','郭富城'];
let[zhang,liu,li,guo]=arr;
console.log(li);
2.3.2 对象的解构赋值
const lin={
name:"林志颖",
age:23,
tags:['车手','歌手','小旋风','演员']
}
let{name,age,tags:[a1,a2,a3,a4]}=lin;
console.log(a3);
2.3.3 字符串的解构赋值
const[a,b,c,d,e]='hello'
console.log(a); //h
console.log(d); //l
2.3.4 复杂解构
let wangfei = {
name:"王菲",
age:19,
songs:['红豆','流年','暧昧','传奇'],
history:[{name:'窦唯'},{name:'李亚鹏'},{name:'谢霆锋'}]
}
let{name,age,songs:[a1,a2,a3,a4],history:[b1,b2,b3]}=wangfei;
console.log(age);//19
console.log(a2); //流年
console.log(b1.name); //窦唯
2.4 字符串的扩展
2.4.1 确定字符串包含关系方法includes(), startsWith(), endsWith()
js中只有 indexOf方法 ,可以用来确定 一个字符串中是否包含在另一个字符串中
ES6 又提供了三种新方法:
1.includes() : 返回布尔值,表示是否找到了参数字符串.
var s = 'hello world';
console.log(s.includes('l')); //true
2.startsWith() : 返回布尔值,表示 参数字符串是否在源字符串的头部
console.log(s.startsWith('h')); //true
console.log(s.startsWith('l')); //false
3. endWith() 返回布尔值 表示 参数字符串是否在源字符串的尾部
console.log(s.endsWith('l')); //false
console.log(s.endsWith('d')); // true
2.4.2 重复字符串方法repeat()
repeat() 方法 返回一个新字符串 表示 将原字符串 重复 n次
console.log('a'.repeat(5)); // aaaaa
- 如果参数是小数,会被向下取整
- 如果参数是负数或者Infinity,会报错
- 如果参数是0到-1之间的小数,则等同于0,因为先取整取到0
- 参数NaN等同于0
- 参数是字符串,则会先转换成数字
2.4.3 模板字符串
模板字符串 是增强型的字符串 用 反引号`` 表示 .特点:
1.字符串中可以出现 换行符
2.可以使用${xxx} 形式来输出变量
标签:ES6,console,log,解构,let,ECMAScript,字符串,name 来源: https://blog.csdn.net/weixin_56755680/article/details/118863036
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。