JavaScript 入门 —— 从变量声明开始的困惑
HTML 和 CSS 学完之后,终于进入了编程语言部分 ——JavaScript。说实话,刚接触 JS 的时候,我是有点懵的。
第一个困惑就是变量声明。var、let、const 到底有什么区别?
javascript
运行
// var:函数级作用域,有变量提升,可重复声明
var a = 10;
var a = 20; // 不报错
// let:块级作用域,无变量提升,不可重复声明
let b = 10;
// let b = 20; // 报错
// const:块级作用域,声明时必须赋值,不可重新赋值
const c = 10;
// c = 20; // 报错
最开始图省事全用 var,后来才知道 var 有变量提升和函数级作用域的问题,容易造成变量污染。现在基本形成了习惯:默认用 const,需要重新赋值就用 let,坚决不用 var。
数据类型也花了点时间梳理。基本类型有 number、string、boolean、null、undefined、symbol、bigint,引用类型有 object、array、function 等等。特别是 null 和 undefined 的区别,刚开始老是分不清。
还有就是隐式类型转换,刚接触的时候特别容易踩坑:
javascript
运行
console.log('5' + 3); // '53' 字符串拼接
console.log('5' - 3); // 2 转数字相减
console.log(true + 1); // 2 true转1
console.log([] + []); // '' 空字符串
这种反直觉的规则刚接触的时候特别容易踩坑。不过多写多练几次,慢慢也就记住规律了。
编程的路才刚开始,虽然有点难,但每搞懂一个知识点,都有一种解锁新技能的快感。
浙公网安备 33010602011771号