读万卷书不如读万里路,总结一下前两天学习的ES6

1. JSON引入了两种方法   

字符串转化为json      JSON.parse(jns)

json对象转化为字符串    JSON.stringify(result)

示例:

let result = {
    "name":"fu"
}
let jns = JSON.stringify(result)
let strs = JSON.parse(jns)
console.log(jns);
console.log(strs);

可以看出 第一个打印字符串

      第二个打印json对象

个人的一个发现  在村localStorage 的时候  

使用localStorage.setItem只能保存字符串  

我们可以把对象转化为字符串   使用时在转换回来  

2.对象的方法

新添加了几种对象方法

遍历对象的key到数组中    Object.keys(result)

遍历对象的value到数组中   Object.values(result)

按照某一个对象为原型返回一个新的对象  Object.create(result) 

返回对象的原型  Object.getprototypeof(res) 

let result = {
    "name":"fu",
    "age":"23",
    "gender":"man"
}
let res = Object.create(result)
console.log(Object.keys(result));
console.log(Object.values(result));
console.log(Object.getPrototypeOf(res));
console.log(res);

这里重点说说Object.create方法 

一共传入两个参数   第一个参数为原型对象  

         第二个参数为 一个对象   对象有三个参数 

                value:"属性的值",

                   writeable: true / false  是否可读写 

                   enumerable: true / false  是否可被枚举 for in  , keys  , values 等

               configurable :true / false  是否可被删除   

let res = Object.create(result,{
    "hehe":{
        value:"笑笑笑",
        writeable:false,
        enumerable:false,
        configurable:true
    }
})
// delete res.hehe  // 这里可以删除
// res.hehe = "不笑了" // 这里修改不动了

密封对象  使对象不可扩展  

可以修改  但是不可删除  不可添加  

let result = {
    "name":"fu",
    "age":"23",
    "gender":"man"
}
Object.seal(result)
result.name = "wang"
delete result.name  // 这里删除不掉
result.love = "篮球" // 这里定义了爱好篮球
console.log(result.name); // 这里名字修改成功了
console.log(result.love); // 因为密封  这里显示undefined

举一反三  

--不可扩展  可以删除  也就是要钱没有要命一条的意思

Object.preventExtensions(result) 

--冻结对象  不可删除  不可写  不可枚举  (相当于这事发生了  怎么地了 )

Object.freeze(result)

--严格模式

使用方法为在文档前面添加“use strict” (养成良好的代码习惯)

定义变量必须用var let

试图删除不可能的属性会出错  比如冻结了  你删除不了就会出错了

不能出现不规整的属性 如prototype 就不能瞎搞  否则就出错

3.数组的方法 

arr.every(fn)

先遍历所有的数组 判断是否是对的 如果所有的都符合 就返回true  否则 返回false

let arr = [1,"20","fu","name"]
x = arr.every(function(i){
    return typeof i == Number
})
console.log(x);

arr.some(fn)

let arr = [1,20]
x = arr.some(function(i){
    return i > 19
})
console.log(x);

arr.forEach(fn)  这里的函数可以传入3个参数   第一个参数为 i   第二个参数为 index  第三个参数为本身  也就是自己 

let arr = [1,20]
arr.forEach(function(i,index,arr){
    console.log(i);
    console.log(index);
    console.log(arr);
})

4.字符串格式化  

以前接触过pthon觉得python的字符串格式化f“xxxx{变量}xxxx”  很好用   js一直没有个好的方法  一直  xxx + xxx  + xxx  觉得很low   但是 他来啦他来啦 他带着方法走来了  

let strs = `这个数组为${arr}`