Symbol

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
     var s1 = Symbol("a");
     console.log(s1);//Symbol(a)
     console.log(typeof s1)//Symbol

    // 标志,标记,标识,记号
    // 做一个状态记号
    // 类似于字符,但是不是字符
    // 拥有字符的特点:具体的值,值类型
    // 自身稳定,不会与任何其他值混淆
    // 语义化
    // 字典量:字典
    // 部首:

     var s1 = Symbol("a");
     var s2 = Symbol("a");
     console.log(s1 == s2);//false
     console.log(s1 == s1);//true

    // 制衣厂:
    function fn(size){
        switch(size){
            case obj.s://s
                console.log("小号");break;
            case obj.m://m
                console.log("中号");break;
            case obj.l://l
                console.log("大号");break;
        }
    }

    var obj = {
        s:Symbol("s"),
        m:Symbol("s"),
        l:Symbol("s"),
    };
    fn(obj.s);//小号
    fn(obj.m);//中号
    fn(obj.l);//大号
     var obj = {
         s:"s",
         m:"s",
         l:"l",
     };
     fn(obj.s);//小号
     fn(obj.m);//小号
     fn(obj.l);//大号
</script>
</html>
复制代码

 

posted @   菜鸟小何  阅读(414)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示