《前端之路》之 初識 JavaScript

01 初識 JavaScript

做爲在碼農圈混跡了 四五年的老碼畜來講,學習一門新的語言,就彷彿是老司機開新車同樣 輕車熟路。javascript

爲何會這麼快呢?java

由於各類套路啊~git

任何一種計算機語言的最開始都是和 數據類型 這個東西分不開,那麼今天,咱們就從 JavaScript 的數據類型開始es6

1、JavaScript 的數據類型

由於對於不少的 jser 的初學者而言,或者說說對於不少代碼初學者而言,數據類型是讓人疑惑的地方。那麼必定要解除這個疑慮。

JavaScript 一共有 八種數據類型。其中包含了 基本數據類型 和 引用數據類型

其中基礎數據類型有: string 、 number 、 Boolean 、 null、 undefined

其中 引用類型有: array 、 function 、 object

一共就這麼8種數據類型,每一種類型都會有各自的屬性或者方法,從而構建了這個豐富多彩的 JavaScript 世界。

那咱們經常須要判斷 這個參數的數據類型從而進行下一步的操做。 那麼這個時候 typeOf 就是一個不錯的選擇,可是也有一些問題,我們下面接着聊。
const strA = 'xxx==='
const numberB = 123
const boolC = false

const nullD = null
const undedfinE = undefined

const arrayF = [1,2,3]
const funcG = function() {
	let a = '123'
	console.log(a)
}
const objH = {
	a: 1,
	getName: function() {
		console.log(this.a)
	}
}

const result = function(x) {
	return typeof x
}
console.log(result(strA)) // string
console.log(result(numberB)) // number
console.log(result(boolC)) // boolean
console.log(result(nullD)) // object
console.log(result(undedfinE)) // undefined
console.log(result(arrayF)) // object
console.log(result(funcG)) // function
console.log(result(objH)) // object

2、 區分容易混淆的 數據類型

TIPS: 看完上面的八種 數據類型的 讀取。是否是發現有三種數據仍是讓人有點迷糊,分別就是 null、array、Object 。 這三個數據類型的 typeof 都是 object。 那如何再次區分呢?github

typeof null  		// object
typeof [123,133]	// object
typeof {a:1}  		// object

// 這個時候就沒法判斷了, 如何操做了?

const testArray = [11,22,33,44]
const testNull = null
const testObj = {a:1}

const testObjectFun = function(x) {
	return Object.prototype.toString.call(x)
}

console.log( testObjectFun(testArray))	// [object Array]
console.log( testObjectFun(testNull))	// [object Null]
console.log( testObjectFun(testObj))	// [object Object]

TIPS: 目前來看,Object.prototype.toString.call(xxx) 是一個很好判斷當前對象爲 什麼的方法。數組

3、 判斷 當前對象爲 數組的方法

const arr = [1,2,3]

// es6
Array.isArray(arr)
arr instanceof Array
arr.constructor === Array
// es5
Object.prototype.toString.call(arr) === '[object Array]'
在 ES五、6 中提供了一系列的 判斷當前對象爲 數組的方法. 能夠做爲一個炫技的存在了。

4、章節總結

在 JS 這門語言中,常見的數據類型在上文中已經做出了 展現,並且也展現了一些判斷當前數據類型的方法,因爲 JS 是一門弱類型語言,所謂弱類型語言實際上是指 數據的類型能夠根據上下文的變化 發生改變。 在下一個章節 咱們會介紹下 數據類型的改變方法。學習

Github 地址,歡迎Starthis

相關文章
相關標籤/搜索