JavaScript Day02 - 变数(1)

变数(variable)

Day04 - 变数(01):主要介绍变数的基本定义以及 var 的用法

常见的资料型别

  • 字串(string)
  • 数字(number)
  • 布林(boolean)
  • undefined:宣告变数却无赋予值
let name = "铁人赛"; // 字串
let year = 2021;    // 数字
let ironman = true; // 布林

typeof name; // 'string'
typeof year; // 'number'
typeof ironman; // 'boolean'

let def;
typeof def; // 'undefined'

typeof:在不知道现在的变数内容变成哪种型别时,可以使用 typeof 来检查

ES6:let、const

变数目前主要会使用 letconst,用法如上面说明型别的例子,差异我理解如下

  • 作用域(scope)不同:letconst 是区块作用域(block scope),作用范围在 {} 内,超过 {} 的范围就没作用了,var 是函式作用域(function scope),而 var 可能会造成污染的部分就参考下面的参考资料了
  • 可否重复宣告:letconst 不可以重复宣告,var 可以,所以可能会造成後面影响前面的问题
  • 可否修改值:letvar 则可以修改值,或是一开始不定义值(undefined),const 宣告时必须有值,并且不可修改,因此如定义是一个常数,若是 Object 时可以修改 Object 里面的值
  • windows 内的属性:宣告全域变数时,letconst 不会出现在 windows 内,var
var a = "test_a";
let b = "test_b";

console.log(window.a); // "test_a"
console.log(window.b); // undefined

初学可能会眼花撩乱,我个人使用上会是如下所述,var 就尽量不使用了

  • let:会变动的,如长度、数量、可能每次都不同的参数
  • const:固定的,如网址、API、不希望被改动的参数

参考资料

MDN:let
MDN:const
MDN:var

JavaScript ES6 Block Scope - let, const
铁人赛:ES6 开始的新生活 let, const
[JS学徒特训班] JavaScript ES6 : var, let, const 差异
JavaScript基本功修练:Day5 - 宣告变数 - let、const、var
在 JavaScript 中,Var、Let、Const 的差异?
Day 05: ES6篇 - let与const
JavaScript: var, let, const 差异
(网路上资料真的很多,就请大家参考自行参考)

次回

再稍微说明一下变数的应用


<<:  【PHP Telegram Bot】Day08 - 官方范例程序

>>:  【程序】与你的 IDE 成为好朋友 转生成恶役菜鸟工程师避免 Bad End 的 30 件事 - 4

[Day17] - Django-REST-Framework 第一个 API 实作

了解了 Django 的运作之後,相信大家一步步对 Django 的操作更佳的熟悉,在前面我们介绍了...

Day-9 重现於新电视的音速索尼克始祖、SEGA 的 MEGA DRIVE

我想就算没玩过游戏、应该也多少听过去年上映的音速小子电影、这是部由 SEGA 游戏音速小子(现译为索...

Day19-Vue Router 路由设定(part2)

巢状路由 在原先的router-view中再放一个router-view。 接续前一个案例,User...

Episode 2 - 关於 COBOL

如果画面太小或看不清楚,可移驾至 https://www.youtube.com/watch?v=...

Day 30 消费者每天在变,广告没有尽头

经过 29 天的探讨,已经慢慢建立概念了无论是关键字或是广告的文案,基本上无论 Google Ads...