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

陳述式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自動插入分號

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

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

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

動態型別

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

原始型別及物件型別

原始型別列表

-Boolean 布林值

-null 空值

-Undefined 未定義

-Number 數字

-String 字串

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