授课语音

JavaScript 命名规范和变量声明

1. Java码命名规范

良好的命名规范是编写清晰、可维护的代码的基础。JavaScript 命名规范帮助开发者理解变量、函数或其他对象的作用,提升代码的可读性。

1.1 变量命名规范

  1. 使用有意义的名字:变量名应该能清晰地表达其含义或用途。

    • 合理的命名示例:
      let userAge = 25; // 用户的年龄
      let isUserActive = true; // 用户是否活跃
      
    • 不合适的命名示例:
      let x = 25; // 不清楚含义
      let temp = true; // 不明确表示“临时”的含义
      
  2. 驼峰命名法(camelCase):JavaScript 中的变量和函数通常使用驼峰命名法,即第一个单词小写,后续单词的首字母大写。

    • 示例:
      let totalAmount = 100;
      let userProfile = { name: 'John', age: 30 };
      
  3. 常量使用全大写:对于常量(不变的值),通常采用全大写字母,并用下划线分隔单词。

    • 示例:
      const MAX_SIZE = 100;
      const API_KEY = '12345';
      
  4. 避免使用保留字:避免使用 JavaScript 中的关键字或保留字作为变量名。

    • 不允许命名:
      let let = 10; // 不能使用 'let' 作为变量名
      let return = 'value'; // 不能使用 'return' 作为变量名
      
  5. 命名一致性:对于同一类的变量或函数,命名风格保持一致。

    • 合理命名:
      let userList = [];
      let userCount = 0;
      

1.2 函数命名规范

  1. 动词+名词:函数名通常由动词和名词组成,动词描述函数的行为,名词描述作用对象。

    • 示例:
      function getUserData() {}
      function calculateTotalAmount() {}
      
  2. 保持简洁明了:函数名要简单明了,避免冗长且难以理解的命名。

    • 示例:
      function fetchUserData() {}
      function updateProfile() {}
      

1.3 类命名规范

  1. 使用 PascalCase:类的命名遵循 PascalCase(也叫大驼峰命名法),即每个单词的首字母都大写。

    • 示例:
      class UserProfile {}
      class ProductList {}
      
  2. 避免使用缩写:类的名称通常不使用缩写,除非缩写是广泛认可的。

    • 示例:
      class HttpRequest {} // 正确
      class HtReq {} // 错误
      

2. 变量声明

在 JavaScript 中,声明变量可以通过 varletconst 三种方式。每种方式都有不同的特点和使用场景。

2.1 var 声明

var 是 JavaScript 中最早的变量声明方式,具有以下特点:

  • 作用域var 声明的变量是函数作用域(而非块级作用域)。如果在函数外部声明,变量会成为全局变量。
  • 变量提升:使用 var 声明的变量会被提升到函数或全局作用域的顶部,但在声明之前访问时值为 undefined

示例

function testVar() {
    console.log(x); // undefined
    var x = 10;
    console.log(x); // 10
}

2.2 let 声明

let 是 ES6 引入的变量声明方式,具有以下特点:

  • 作用域let 声明的变量是块级作用域,仅在其所在的代码块、语句或表达式内部有效。
  • 变量提升let 声明的变量也会被提升,但不会被初始化,在声明之前访问时会抛出 ReferenceError

示例

function testLet() {
    // console.log(y); // ReferenceError: Cannot access 'y' before initialization
    let y = 20;
    console.log(y); // 20
}

2.3 const 声明

const 也是 ES6 引入的,专用于声明常量(不可重新赋值的变量),具有以下特点:

  • 作用域const 声明的变量是块级作用域。
  • 常量const 声明的变量必须在声明时赋值,并且一旦赋值后不可修改。
  • 不可重赋值const 声明的变量不能被重新赋值,但是如果是对象或数组,可以修改其属性或元素。

示例

const PI = 3.14;
// PI = 3.14159; // TypeError: Assignment to constant variable.

const user = { name: "John" };
user.name = "Doe"; // 允许修改对象的属性
console.log(user.name); // "Doe"

3. 变量声明的最佳实践

  1. 优先使用 letconstletconst 在现代 JavaScript 中被广泛推荐使用,因为它们具有更严格的作用域控制,避免了 var 的一些问题。
  2. 避免使用 var:由于 var 存在作用域不清晰和提升问题,现代 JavaScript 开发中推荐避免使用 var
  3. 使用 const 声明常量:当一个变量的值不需要改变时,使用 const 来声明,能更好地表达该变量的意图并避免意外的重赋值。
  4. 初始化变量时立即赋值:尽量在声明变量时立即赋值,避免在未初始化的情况下访问变量。

示例

let age = 25; // 使用 let 声明变量,年龄是可以修改的
const country = 'China'; // 使用 const 声明常量,国家不可修改

4. 总结

  • 命名规范:良好的命名规范能提升代码的可读性和可维护性。常用的命名规则有:驼峰命名法(camelCase)、常量全大写命名法、函数命名遵循动词+名词规则、类使用 PascalCase 等。
  • 变量声明:JavaScript 中可以通过 varletconst 声明变量。推荐使用 letconst 以避免 var 的作用域问题。对于不需要改变值的变量,使用 const 声明常量。
去1:1私密咨询

系列课程: