本篇是es6语法的一点点收尾了,所以也不会有太多的内容。
1.字符串方法的扩展
let str = "liuqiang"; console.log(str.includes("liu")); //包含 console.log(str.startsWith("liu"));//字符串开始是否包含 console.log(str.endsWith("liu"));//字符串结束是否包含 console.log(str.repeat(2));//将str重复2次输出
2.数组的扩展
//Array.from() 将对象或伪数组转化为真数组 let objArr = { //必须要定义此格式对象,才做转换 '0': 'a', '1': 'b', '2': 'c', length: 3 }; let realArray = Array.from(objArr); realArray.forEach((value, index) => { console.log(value) }); //Array.of(1,2,3)方法用于将一组值,转换为数组 console.log("--------------------------");
3.对象的扩展
//Object.is(数值1,数值2) 判定两个数值是否相等 底层是以字符串形式实现的 console.log(NaN==NaN,Object.is(NaN,NaN)); //false true //Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。 let obj = {}; let obj1 = {name:"liuqiang",age:23}; let obj2 = {sex:"男"}; Object.assign(obj,obj1,obj2); //将obj1与obj2中的所有可枚举属性复制到目标对象obj中 console.log(obj); console.log(obj.name); //直接操作__proto__ let apple = {}; let fuit = { zhongLei:"水果",baoZhiQi:"保质期3年"} apple.__proto__ = fuit; console.log(apple); console.log(apple.zhongLei);
4.export与import关键字
1)假设a.js文件所写内容如下,那么在另一个main.js中引用a.js中导出的 乘法与加法这两个方法
//乘法 function a_multiply(x,y) { return x*y; } //加法 function a_add(x,y) { return x+y; } //减法 function a_reduce(x,y) { return x-y; } export {a_multiply,a_add}
那么就需要这么写 --- 意思就是导入什么方法来自与a.js文件中
import {a_multiply, a_add} from "./a.js"
2).export声明的关键字的另一个特性,假设默认在b.js中,如下:
export function b_max(x,y) { return x>y?x:y; } //一个文件里面最多只有一个export default export default function b_min(x,y) { return x<y?x:y; }
3).export导入css文件,就是直接导入css路径就可以了,如下
import "../css/main.css"
好了,有关ES6语法系列就暂时告一段落了,如果还有一些ES6语法忽略了,那就是归纳入下一个系列TypeScript系列了。