JavaScript$Data-Label
1. Variable: Say My Name
表达数据 data 的方式有两种:
- 字面量 literal:
'Tom'; { name: 'Tom', age: 18 },直接表达数据 - 变量 variable:
var name = 'Tom'; let tom = { name: 'Tom', age: 18 }; const ADULT_AGE = 18; function greet(){ console.log('你好') },给数据一个名字
使用变量的好处是见名知意和方便引用。
变量可以分为“变量”和“常量”:
- 变量 mutable:地址可以改变的变量,使用
var,let,function定义 - 常量 immutable:地址不可改变的变量(对于对象,属性值可以改变),使用
const定义
2. Identifier
我们需要一个 label 来表示变量,这个 label 称为标识符 identifier。(properties 也看可做变量)
标识符的规则:
- 只能包含字母、数字、下划线
_和$ - 不能以数字开头
- 不能使用关键字和保留字
标识符最佳实践:
- 变量 camelCase:
let firstJob = 'worker - Class PascalCase:
class SchoolTeacher{} - 常量 Upper_Case:
const JAVASCRIPT_DATA_LABEL = 'JavaScript$Data-Label' - snake_case 和 kebab-case 在 JavaScript 中用的较少
3. var, let, const; function
声明变量时可以使用 var、let 或者 const;function 可以定义函数(在我看来也应该放在这里)。其中 var 是 ES2015 之前的唯一方式(虽然不使用 var 也可以定义变量,但是并不推荐)。
var:函数作用域,状态提升 hoist,可重复定义,会放在window上let:块作用域,暂时性死区 TDZconst:块作用域,暂时性死区 TDZ,不可重新赋值function:快作用域,可重复定义,状态提升 hoist(和var同名时优先)