陳述式(Statement),表達式(Expression)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ffd4b1d7-c47b-4395-ab18-f7b23bd9eb38/1565774799523.jpg

陳述式mdn ⇒ BLOCK,if,else,var,const,let,function,for.....不會回傳一個結果,只會執行一段程式碼

陳述式不會回傳結果,所以不能賦予在一個值上面

man = if(1===1){}  //console Error跳錯

涵式陳述式⇒(宣告涵式並給予名稱)又稱具名涵式

function callName(){

}

block語句 {括號內就稱block},const作用域範圍在block語句內才有用

{
	var man = '小明';
}
console.log(man); //小明
//-----------------------------
{
	const man = '小明';
}
console.log(man); //man is not defined

運算式mdn(表達式)⇒ 可以取得一個值的程式碼

涵式表達式⇒宣告變數並用等號賦予在涵式上,又稱匿名涵式

var callName = function(){

}

ASI自動插入分號

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/15e871f2-c446-45ca-bcf6-07f0421da6c7/1565776646046.jpg

JS會自動加上分號,所以會左邊的CODE在運行後,會變成右邊的樣子

function callName(){
	return
	'叫小賀'
}
console.log(callName())//undefined

function callName(){
	return; '叫小賀';
}
console.log(callName())

動態型別

JS在執行階段時才會賦予型別,型別轉換過程

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e9cda8fd-8231-46b6-b51e-d7d1cc637a55/1565848626903.jpg

原始型別及物件型別

原始型別列表

-Boolean 布林值

-null 空值

-Undefined 未定義

-Number 數字

-String 字串

-BigInt(new) 整數數值 -Symbol(new)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/23c717d8-6ddb-41c0-88d2-013350aea635/1565935742194.jpg