JavaScript语言类型

七种语言类型

  • int
  • string
  • boolean
  • null
  • undefined
  • object
  • symbol
undefined

let a;
let b = void(0)
a === b // true
变量未赋值都是undefined,是一个变量,不是关键字,用void(0)代替
我们一般不会把变量赋值为undefined,这样可以保证所有的值为undefined的变量,都是从未赋值的自然状态。

void(0)

<a href="#">click</a>默认跳转到顶部
<a href="#id">click</a>默认跳转到id的元素
<a href="javascript:void(0)">click</a>表示不跳转

null

是一个关键字,可以用null来获取,但是undefined不行

number
0.1+0.2 === 0.3  // false

js不能比较小数,但可以用精度来判断

Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON  // true
Symbol

独一无二的key值

let a = symbol();
let b = symbol("this is b");
obj[a] = 100;

用symbol做对象属性的时候object.keys获取不到

代替变量

	const COLOR_RED = Symbol();
    const COLOR_GREEN = Symbol();

    function getComponent(color) {
        switch(color) {
            case COLOR_RED:
                return "red";
            case COLOR_GREEN:
                return "green";
            default:
                throw new Error("Undefind color")
        }  
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值