zoukankan      html  css  js  c++  java
  • JavaScript: ES6 代码笔记

    // let
    let name = "小明"
    // const
    const AGE = 18
    // 解包
    // 数组
    let [a,b,c] = [1,2,3]
    console.log(a,b,c)
    
    // 对象
    let {username, age} = {username:"xm", age: 19}
    console.log(username,age)
    
    // symnbol 表示独一无二
    const ADD = Symbol("add")
    console.log(typeof(ADD))
    
    // Map Map键可以是任意数据类型, object建只能是字符串和symbol类型
    
    let myMap = new Map();
    
    let keyString = "a string";
    
    // 设置键值对
    myMap.set(keyString, "keyString -> value 11");
    console.log(myMap);
    
    // get 键取值
    let value = myMap.get(keyString);
    console.log(value)
    
    // Map 的迭代
    myMap.forEach( (value, key)=>console.log(`${key} - ${value}`
        ), myMap)
    
    for (let [key, value] of myMap){
        console.log(key,'-',value)
    }
    
    
    // set 值唯一
    let mySet = new Set();
    
    mySet.add(1)
    mySet.add(2)
    console.log(mySet)
    // 值唯一 所以set 里面的数据不变
    mySet.add(2)
    console.log(mySet)
    
    
    // proxy
    // 对象target
    let target = {
        name: 'Tom',
        age: 24
    }
    
    // 对象handler
    let handler = {
        get: function(target, key){
            console.log('getting' + key);
            return target[key];
        },
        set: function(target, key, value){
            console.log('setting' + key)
            return target[key] = value;
        }
    }
    
    // 实例一个proxy 需要传入两个对象 target 目标对象 handler代理target的行为
    let proxy = new Proxy(target, handler)
    proxy.name
    proxy.age = 25
    
    
    // 对象
    const age1 = 12;
    const name1 = "13";
    const person = {age1, name1}
    // 等同于 const person = {age:age1, name:name}
    console.log(person)
    
    const person1 = {
        sayHi(){
            console.log("Hi")
        }
    }
    person1.sayHi();
    
    // 等同于
    // const person = {
    //     sayHi: function(){
    //         console.log("Hi")
    //     }
    // }
    
    // 扩展运算符 ...
    let someone = { ...person}
    console.log(someone)
    
    // 数组创建
    let arr = Array.of(1,2,3,4,5)
    console.log(arr)
    // 可迭代对象转换成数组
    console.log(Array.from("12345"))
    
    // 函数
    // 箭头函数 ,只有一个参数书写方式
    let f = v=>v
    console.log(f(1))
    
    // 没有或多个参数
    let a1 = () => console.log("没有参数")
    a1();
    
    let b1 = (a,b) => console.log(`a: ${a} b: ${b}`)
    b1(3,2);
    
    // 当箭头函数体有多行语句
    let c1 = (a,b) => {
        let result = a + b
        console.log(result)
        return result
    }
    let v = c1(3,6);
    console.log(v);
    
    // 箭头函数要返回对象
    let o = (id, name) =>({id: id,
        name: name
        });
    console.log(o(3,2));
    
    // ps: 箭头函数里面没有this对象,用的是外面一层的this对象,此处即Window
    
    let func = () => console.log(this)
    func();
    
    // 模块
    
    let myName1 = "Tom"
    
    let myFunc1 = () => console.log("箭头函数")
    
    class MyClass{
        static a2 = "yeah1";
    }
    
    module.export = { myName1,myFunc1, MyClass }
    // import
    // MediaQueryListEvent { myfn } from './exports.js';
    // const { myName, myAge, myfn, myClass } = require('./exports.js')
    // myfn();
    
    // async 函数 返回一个 Promise 对象,可以使用 then 方法添加回调函数。
    
    async (()=>{})
    
    
    作者:zy7y
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    PC端网站微信扫码登录
    H5微信授权登录
    Taro -- Swiper的图片由小变大3d轮播效果
    vue,一路走来(17)--vue使用scss,并且全局引入公共scss样式
    vscode 黑屏及类名报错解决方案
    js的cookie写入存储与读取
    常用正则表达式
    JS获取当前时间戳的方法
    URL的截取问题
    cookie的基本用法案例
  • 原文地址:https://www.cnblogs.com/zy7y/p/14446346.html
Copyright © 2011-2022 走看看