某個工程師用10天發明出來的語言
疑似java但其實沒關係,有些地方像而已
在已經熟悉python JAVA的前提下 JS其實就是arrow fn, map, closure比較要注意,其他都還好
var 宣告變數
console.log() == print() in python == System.out.println() in Java
var s = "Hello JS!"
console.log(s)
面試問題: 如果沒有宣告變數會怎樣? A: 會變全域變數,非常不OK。
var: 沒啥限制
let:
作用域:let 是區塊作用域(block scope),只在當前區塊 {} 內有效,因此在 for 迴圈或 if 條件內宣告的變數在外部無法訪問。
重複宣告:同一作用域內不能重複宣告 let 變數。
變數提升:let 也會被提升,但在宣告之前使用會報錯,因為它存在於 「暫時死區」(Temporal Dead Zone,TDZ)。
function hello () {
if (true) {
let name=' Jack'
}
consoel. log('hello' + name); // name is not defined
hello();
const:
let 一樣是區塊作用域。const c = 15;
c = 20; // TypeError: Assignment to constant variable.
${}
let name = "Alice";
let age = 25;
console.log(`My name is ${name}, and I am ${age} years old.`);