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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    HDU 5585 Numbers
    HDU 3308 LCIS
    POJ 2991 Crane
    POJ 1436 Horizontally Visible Segments
    POJ 3667 Hotel
    HaiHongOJ 1003 God Wang
    【SDOI 2008】 递归数列
    5月19日省中提高组题解
    【HDU 1588】 Gauss Fibonacci
    【POJ 3233】Matrix Power Series
  • 原文地址:https://www.cnblogs.com/zy7y/p/14446346.html
Copyright © 2011-2022 走看看