ES6语法(四)

本篇是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系列了。


猜你喜欢

转载自blog.csdn.net/qq_33429583/article/details/80376861