zoukankan      html  css  js  c++  java
  • [Javascript] MetaProgramming: function name

    Each function should have a 'name' property. It can be anonymous, empty, the same as function name, or class name.

    For example:

    const foo = function(){}
    console.log(foo.name); //foo
    function(){ .. });                 // name:
    (function*(){ .. });                // name:
    window.foo = function(){ .. };      // name:
    
    class Awesome {
        constructor() { .. }            // name: Awesome
        funny() { .. }                  // name: funny
    }
    var c = class Awesome { .. };       // name: Awesome
    
    var o = {
        foo() { .. },                   // name: foo
        *bar() { .. },                  // name: bar
        baz: () => { .. },              // name: baz
        bam: function(){ .. },          // name: bam
        get qux() { .. },               // name: get qux
        set fuz() { .. },               // name: set fuz
        ["b" + "iz"]:
            function(){ .. },           // name: biz
        [Symbol( "buz" )]:
            function(){ .. }            // name: [buz]
    };
    
    export default function() { .. }    // name: default
    
    var y = new Function();             // name: anonymous
    var GeneratorFunction =
        function*(){}.__proto__.constructor;
    var z = new GeneratorFunction();    // name: anonymous
  • 相关阅读:
    贮油点问题(C++)
    二维数组操作
    二的幂次方(递归)
    [haoi2009]巧克力
    距离最远的牛
    ssh注解basedao简单的实现
    @service中构造方法报错
    spring注解 构造函数问题
    json与gson
    AsyncTask异步类的简单操作
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5581343.html
Copyright © 2011-2022 走看看