语法问题:对象可以不需要key构成吗?
javascript吧
全部回复
仅看楼主
level 7
如下图,有几个问题请教一下吧友:
1:这里的draw, fill,rectangle,pick都是绘图函数名,打印出来字面量baseTools是一个object,为何不需要key就能组成对象?是不是类似于Object.keys(['a', 'b', 'c'],但是Object.keys(array)输出是元素索引.
2:既然baseTools是object,那为何打印出来是一个类似对象的数组[Object, object], 而不是{function, ...}的形式?
3:既然没有key,为何还能用Object.key来遍历函数名字符串?还是说key是隐含的?
2023年08月26日 00点08分 1
level 13
这是对象转换成字符串的默认表示形式既不是数组也不反映对象的内容。调用对象的 toString 方法就能获得一个这样的字符串。"[object 类名]"
想在日志打印这个对象不需要把它用字符串输出,直接把它传给打印函数就行。
log 函数可以接受多个参数,什么类型都可以,不需要你把要打印的内容全塞进一个字符串。
你好像经常以自己猜测的前提的来问问题,然后这些前提又都是错的,建议改进一下你问问题的方式。
2023年08月26日 05点08分 2
为啥可以用Object.keys来遍历,它不是没有key吗
2023年08月26日 05点08分
@从入门☞放弃 你打印出来的不是这个对象本身,我已经说过了,打印出来的只是转换过后的字符串,实际的对象当然有 key。你对着丢失了信息的字符串先入为主地判断对象没有 key 是个什么操作呢?
2023年08月26日 06点08分
@BSPR0002 我意思是const baseTools不是{function}的形式吗,为啥会有key呢
2023年08月26日 06点08分
这种写法是简化的,是将变量赋值给对象属性的简写,由于“function”不是合规的变量名,所以我用“pp”代为说明。
2023年08月26日 07点08分
level 8
2023年08月31日 02点08分 5
谢谢你!
2023年08月31日 04点08分
1