【Day18】物件与纯值

昨天的文章有提到物件可以使用 . 来新增属性,以下使用各种型别来新增属性

物件

物件新增属性

const family = {};
family.name = 'weiwei';
console.log(family);  // {name: 'weiwei'}

纯值

也许有人会问什麽是纯值?

只要是原始型别就是纯值

const newString = '小明';
newString.name = 'weiwei';
console.log(newString);  // '小明'
console.log(newString.name);  // undefined

在 JavaScript 中如果该属性不存在时会回传 undefined

因此从范例可以知道纯值是无法新增属性

建构式

const newString2 = new String('weiwei');
newString2.name = 'weiwei';
console.log(newString);

我们可以看到在 newString 中新增了 name 属性,

而在纯值范例中得知纯值无法新增属性,

因此可以得知建构式为物件型别

阵列

const arr = [1, 2, 3];
arr.name = 'weiwei';
console.log(arr);

范例中得知我们能够在阵列中加入属性,

因此得知阵列为物件型别,

当我们要取出 name 的值时,可以使用 arr.namearr['name'] 来取值

函式

function callName() {
    console.log('呼叫 weiwei');
};

console.log(callName);
console.log(typeof callName);  // function

我们能看见单纯使用 callName 只会看见函式内容,

无法看见内部属性,而且函式型别为 function,

接着我们使用 console.dir() 来显示 callName

function callName() {
    console.log('呼叫 weiwei');
};

console.dir(callName);

此时我们能看见函式内部的属性,

而函式内部的 name 属性是无法被修改的,

该属性的值表示函式名称

当我们在函式中加入属性时

function callName() {
    console.log('呼叫 weiwei');
};

callName.wei = 'weiwei';

console.dir(callName);

我们可以看见在函式的属性中新增 wei 的属性,

因此可以得知函式也是物件

结语

今天主要介绍纯值跟物件的关系,

纯值无法新增属性,物件可以,

因此可以透过新增属性的方式,

来了解一个值是纯值还是物件,

以上就是今天的内容,感谢观看!!


<<:  透过 SSH 登入 DSM

>>:  Day 3 - Reverse Integer

Day 24. Zabbix 通知设定 - Webhook - Telegram

今天要介绍的 Telegram 原理是采用 Webhook ,我们已经有 LINE 有群组通知了,T...

变更管理和变更控制(Change Management and Change Control)

什麽是变化,我们在变化什麽? 当涉及到更改时,至关重要的是定义什麽是更改并阐明我们正在更改的内容。...

day6 初级系统工程师 (雷)管理眼花撩乱的机房,不是幸福

来部落格看图文并茂文章 补觉鸣诗 时间回到我入行第二年 这时才算是正式的系统工程师并开机接触机房 最...

Day 16 Matcher 介绍 (上)

该文章同步发布於:我的部落格 今天进入介绍 Matcher 的第一天! 会介绍一些常用,也有可能不...

Hook 的规则 ( Day18 )

使用 Hook 官方设定需要遵守的两个规则,并提供了一个 linter plugin 来自动化地实行...