JavaScript型别、物件与纯值

JavaScript型别

前面有说过JavaScript是动态型别,也就是说在执行时,变数会依照赋予的值来决定他的型别,可以不断改变。
例如JavaScript的:

var ab='hello' //string
ab=12 //number

若是Java等静态型别的语言,会先定义变数的型别,而且赋予一个型别另一个型别的值可能导致错误:
例如java的:

int a="你好" //出现型别的错误

**JavaScript 也是弱型别语言,

弱型别容忍隐性的型别转换,但是怎麽转换是它自己决定。

想看更多可以点击最下面参考连结的第一个!


JavaScript物件

简而言之就是一组组的键与值的配对,值可以为任意资料型别,
而这些值又可以是另一个「键/值」的组合。也就是说一个物件可以连结另一个物件
如图(取自克服JS的奇怪部分)
https://ithelp.ithome.com.tw/upload/images/20210918/201354142a3HgogfXD.png
物件可以有属性与方法。

有两种宣告形式:
1.宣告式(declarative)或字面形式(literal),也是物件实体语法:
const person = { name: 'Ivy' };

2.建构形式(constructed form)//比较少用
const person = new Object(); person.name = 'Ivy';

而function, array等的属於物件型别


JavaScript纯值(原始型别)

JavaScript的六种原始型别,都是纯值,没有属性。

1.undified:

表示还不存在,直到你给这个变数初始值
JavaScript 给所有变数的初始值,
但我们不应该主动赋予变数undified

2.null:

也是不存在的意思,但是我们可以设变数为null,已表示这个变数没有值

3.boolean:

有true, false两种

4.number:

JS只有一种数值型态,Numeber,他是浮点数,永远有小数在後面,跟其他程序语言不同,例如java还有分整数型态与浮点数型态等,虽然我们也可以使用整数,但JS只有number型态。

5.String(字串):

由一连串字符组成,外面包着单引号或双引号。
EX:'hello!'

6.Symbol(字符):

Symbols 是ES6引入了一个新的数据类型,
保证每个创建的Symbol都是独一无二的值。
创建方法如下:

let sym1 = Symbol()
let sym2 = Symbol('Ivy')
let sym3 = Symbol('Ivy')

判断型别

我们可以用typeof这个方法去检查null以外的型别,为甚麽是null以外呢?

typeof null
//'object'
typeof undefined
//'undefined'

这是一个小bug,null 应该是 null啊!

参考资料:
六角学院 JS 核心笔记 (十二)【运算子、型别与文法】- 动态型别和弱型别
JS 中的 Symbol 是什么
你懂 JavaScript 吗?#17 物件(Object)


<<:  Day 18 修改add()方法

>>:  Flutter基础介绍与实作-Day4 Dart语法介绍(1)

DAY 29 Big Data 5Vs – Value(价值) - AWS SageMaker & ML Family

资料要产生出价值就不得不提AI与机器学习,各种AI的应用已成为各大平台服务的必争之地,透过演算法从不...

[Day03] Vue i18n - Message Format Syntax

红框中的句子 Welcome to Your Vue.js App 如果我们想要将其中的 Vue....

Day-30 特集:回圈实例题

for/传统for/高阶函式for回圈比较 const lists = [2, 4, 1, 8, 7...

Day1 : M365上的离职人员邮件要怎麽处理呢?

常会遇到这问题 , 离职人员的邮件要怎麽处理呢? 又不想花钱只为了留下资料,那要怎麽做呢? 可以选择...

Day10 React Hooks 小实作简单的计数器

今天实作一个很简单的计数器,按下按钮後数字会一直累加1 要先将useState 汇入 import ...