10 QUY ƯỚC ĐẶT TÊN TRONG JAVASCRIPT

Ngày đăng: 16/10/2020   -    Cập nhật: 12/03/2021
10 Quy ước đặt tên trong JavaScript này cho bạn một hướng dẫn chung khi đặt tên biến, tên hàm, tên lớp hoặc tên các component trong JavaScript.


Quy ước đặt tên trong JavaScript


Dĩ nhiên, không ai bắt bạn phải làm theo 100% quy tắc / quy ước đặt tên này, tuy nhiên, chúng được chấp nhận rộng rãi như một tiêu chuẩn trong cộng đồng JavaScript.


#1: QUY ƯỚC ĐẶT TÊN BIẾN TRONG JS



Các biến JavaScript phân biệt chữ hoa chữ thường. Do đó, các biến JavaScript với ký tự viết thường và viết hoa là khác nhau:



var name = 'NIIT - ICT HÀ NỘI';

var Name = 'ELON MUSK';

var NAME = 'EDISON';

console.log(name);
// "NIIT - ICT HÀ NỘI"

console.log(Name);
// "ELON MUSK"

console.log(NAME);
// "EDISON"
 


Biến JavaScript phải tự mô tả ý nghĩa của nó. Không cần thiết phải thêm nhận xét để có mô tả bổ sung cho biến:



// bad
var value = 'NIIT';

// bad
var val = 'NIIT';

// good
var firstName = 'NIIT';
 


Thông thường, bạn sẽ thấy các biến JavaScript được khai báo bằng kiểu camelCase với ký tự viết thường ở đầu, các từ sau viết HOA chữ cái đầu:



// bad
var firstname = 'NIIT';

// bad
var first_name = 'NIIT';

// bad
var FIRSTNAME = 'NIIT';

// bad
var FIRST_NAME = 'NIIT';

// good
var firstName = 'NIIT';
 


Cũng có các ngoại lệ đối với các hằng số JavaScript, privates và các lớp / thành phần - mà chúng ta sẽ khám phá sau.


Tuy nhiên, nói chung, một biến JavaScript, một chuỗi, boolean hoặc số, cũng như là một đối tượng, mảng hoặc hàm - đều được khai báo với kiểu camelCase.


Tổng quan ngắn gọn về các kiểu viết tên biến khác nhau:



  • camelCase (sử dụng trong JS)
  • PascalCase (sử dụng trong JS)
  • snake_case
  • kebab-case


> Bạn đã HỌC JAVASCRIPT CƠ BẢN ổn chưa?


#2: QUY ƯỚC ĐẶT TÊN BOOLEAN TRONG JS


Thêm tiền tố như is, are hoặc has là cách đơn giản nhất giúp mọi lập trình viên sử dụng JavaScript phân biệt biến boolean với một biến khác.



// bad
var number = true;

// good
var isNumber = true;

// bad
var equal = false;

// good
var areEqual = false;

// bad
var encryption = true;

// good
var hasEncryption = true;
 


Bạn có thể xem nó như một quy tắc mềm khác cho quy ước đặt tên boolean trong JavaScript bên cạnh việc được viết bằng camelCase.


#3: QUY ƯỚC ĐẶT TÊN FUNCTION TRONG JS

 

Các hàm JavaScript cũng được viết theo kiểu camelCase. Ngoài ra, cách tốt nhất để thực sự cho biết hàm đang làm gì là sử dụng một động từ làm tiền tố cho tên hàm.



// bad
function name(firstNamelastName) {
    return `${firstName} ${lastName}`;
}

// good
function getName(firstNamelastName) {
    return `${firstName} ${lastName}`;
}
 


Động từ làm tiền tố này có thể là bất cứ thứ gì (ví dụ: get, fetch, push, apply, calculate, compute, post).


Đó là một quy ước mềm khác cần xem xét để có được tên biến dễ hiểu khi lập trình JavaScript.



#4: QUY ƯỚC ĐẶT TÊN CLASS TRONG JS

 

Một lớp trong JavaScript được khai báo bằng kiểu PascalCase trái ngược với các cấu trúc dữ liệu JavaScript khác:



class SoftwareDeveloper {
    constructor(firstNamelastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

var me = new SoftwareDeveloper('Mai''Hà');
 


Kiểu PascalCase là kiểu viết hoa mọi chữ cái đầu của mỗi từ.


Và khi muốn tạo một thể hiện mới của một lớp, ta sử dụng tên lớp và truyền tham số.


Khi đó, hàm constructor sẽ tự động nhận tham số đầu vào.


Cách khởi tạo thể hiện này tương tự các ngôn ngữ khác như Java...


> Tham khảo: Quy ước đặt tên trong Java



#5: QUY ƯỚC ĐẶT TÊN COMPONENT TRONG JS

 

Các component thường được tìm thấy trong các Front end Framework như React, chúng cũng được khai báo rộng rãi với kiểu PascalCase.



// bad
function userProfile(user) {
    return (
        <div>
            <span>Họ: {user.firstName}</span>
            <span>Tên: {user.lastName}</span>
        </div>
    );
}
   
// good
function UserProfile(user) {
    return (
        <div>
            <span>Họ: {user.firstName}</span>
            <span>Tên: {user.lastName}</span>
        </div>
    );
}
 


Khi một component được sử dụng, nó phân biệt chính nó với HTML gốc và các web component, vì chữ cái đầu tiên của nó luôn được viết bằng chữ hoa.



<div>
  <UserProfile
    user={firstName: 'Mai'lastName: 'Hà' }}
  />
</div>
 


#6: QUY ƯỚC ĐẶT TÊN MEDTHOD TRONG JS



Giống như các hàm JavaScript, tên một phương thức trong một lớp JavaScript được khai báo với kiểu camelCase:



class SoftwareDeveloper {
    constructor(firstNamelastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
    // Method
    getName() {
        return `${this.firstName} ${this.lastName}`;
    }
}

var me = new SoftwareDeveloper('Mai''Hà');

console.log(me.getName());
// "Mai Hà"
 


Ngoài ra, khi khai báo phương thức, bạn hãy áp dụng các quy ước tương tự như đối với các hàm JavaScript.


Ví dụ: Thêm một động từ làm tiền tố để làm cho tên phương thức dễ hiểu hơn.



#7: QUY ƯỚC ĐẶT TÊN PRIVATE TRONG JS



Trong các dự án JavaScript, hiếm khi bạn tìm thấy dấu gạch dưới (_) trước biến / hàm / phương thức.


Nếu bạn nhìn thấy dấu gạch dưới trước tên, nó là private.


Mặc dù tính chất private không thể thực sự được thực thi bởi JavaScript, nhưng việc khai báo một cái gì đó là private sẽ cho chúng ta biết về cách nó nên được sử dụng hoặc cách nó không nên được sử dụng.


Ví dụ: Một phương thức private trong một lớp chỉ nên được sử dụng trong nội bộ lớp đó, tránh được sử dụng trên thể hiện của lớp.




class SoftwareDeveloper {
    constructor(firstNamelastName) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.name = _getName(firstNamelastName);
    }

    _getName(firstNamelastName) {
        return `${firstName} ${lastName}`;
    }
}

var me = new SoftwareDeveloper('Mai''Hà');

// good
var name = me.name;
console.log(name);
// "Mai Hà"

// bad
name = me._getName(me.firstNameme.lastName);
console.log(name);
// "Mai Hà"
 


Một biến / hàm private cũng có thể xuất hiện trong một tệp JavaScript.


Điều này có thể có nghĩa là biến / hàm không nên được sử dụng bên ngoài tệp này mà chỉ được sử dụng trong nội bộ để tính toán thêm logic nghiệp vụ cho các hàm khác trong cùng tệp mà thôi.



#8: QUY ƯỚC ĐẶT TÊN CONSTANT TRONG JS

 

Cuối cùng nhưng không kém phần quan trọng, các hằng số - nhằm mục đích là các biến không thay đổi - trong JavaScript được viết bằng chữ in hoa (UPPERCASE):



var SECONDS = 60;
var MINUTES = 60;
var HOURS = 24;

var DAY = SECONDS * MINUTES * HOURS;
 


Nếu một hằng số có nhiều hơn một từ trong tên khai báo biến của nó, nó sẽ sử dụng dấu gạch dưới (_) để phân tách các từ:



var DAYS_UNTIL_TOMORROW = 1;
 


Thông thường, hằng số JavaScript được định nghĩa ở đầu tệp JavaScript.


Như đã gợi ý trước đây, không ai bắt buộc không được thay đổi hằng số ở đây, ngoại trừ các khai báo sử dụng từ khóa const cho cấu trúc dữ liệu nguyên thủy, nhưng việc đặt tên VIẾT HOA cho thấy bạn nên tránh thay đổi nó.



#9: QUY ƯỚC ĐẶT TÊN GLOBAL VARIABLE TRONG JS


 
Một biến JavaScript được xác định biến Global (toàn cục), nếu trong tất cả ngữ cảnh của nó đều có quyền truy cập vào nó.


Thường thì ngữ cảnh được xác định bởi tệp JavaScript nơi biến được khai báo / định nghĩa, nhưng trong các dự án JavaScript nhỏ hơn, nó có thể là toàn bộ dự án.


Và cũng không có quy ước đặt tên đặc biệt nào cho các biến toàn cục trong JavaScript.



  • Một biến JavaScript toàn cục được khai báo ở đầu dự án / tệp.
  • Một biến JavaScript toàn cục được viết bằng camelCase nếu nó có thể thay đổi được.
  • Biến JavaScript toàn cục được viết bằng UPPERCASE nếu nó là bất biến.

 

 

#10: QUY ƯỚC ĐẶT TÊN FILE TRONG JAVASCRIPT


Có hai chiến lược đặt tên tệp trong JavaScript: PascalCasekebab-case.


Trong các ứng dụng Front end, bạn sẽ thường thấy người ta sử dụng kiểu PascalCase để đặt tên cho các component (ví dụ: các component của React).




components/
--- user/
----- UserProfile.js
----- UserList.js
----- UserItem.js
--- ui/
----- Dialog.js
----- Dropdown.js
----- Table.js
 


Ngược lại, trong ứng dụng back end, kebab-case là cách sử dụng thông thường:



routing/
-- - user-route.js
-- - messages-route.js
 


Bạn cũng thể sẽ thấy ai đó sử dụng camelCase, nhưng tương tự như trong các ứng dụng front end. Nhưng điều này có nguy cơ là hệ điều hành đang xử lý chúng theo cách khác có thể dẫn đến lỗi.


Đó là lý do tại sao kiểu kebab-case nên là tiêu chuẩn cho việc đặt tên tệp trong JavaScript.



? CÓ NÊN SỬ DỤNG GẠCH DƯỚI ĐỂ ĐẶT TÊN BIẾN?

 

Vậy còn dấu gạch dưới có được sử dụng để đặt tên trong JavaScript không?


Vì camelCase và PascalCase chủ yếu được xem xét trong JS, bạn đã thấy rằng dấu gạch dưới hiếm khi được sử dụng cho các biến hoặc hằng số riêng.


Đôi khi, bạn sẽ tìm thấy dấu gạch dưới khi nhận thông tin từ bên thứ ba như cơ sở dữ liệu hoặc API.


Một trường hợp khác mà bạn có thể thấy dấu gạch dưới là các tham số hàm không được sử dụng.



? CÓ NÊN SỬ DỤNG GẠCH NGANG ĐỂ ĐẶT TÊN BIẾN?



Sử dụng dấu gạch ngang để đặt tên JavaScript cũng không phải là phổ biến. Nó chỉ làm cho mọi thứ trở nên khó khăn hơn.


Ví dụ như khi sử dụng chúng trong hướng đối tượng:




// bad
var person = {
    'first-name': 'Mai',
    'last-name': 'Hà',
};

var firstName = person['first-name'];

// good
var person = {
    firstName: 'Mai',
    lastName: 'Hà',
};

var firstName = person.firstName;
 

 
Và thậm chí bạn không thể sử dụng trực tiếp dấu gạch ngang cho khai báo biến:



var first-name = 'Mai';
// Uncaught SyntaxError: Unexpected token '-'
 


TỔNG KẾT VỀ CÁCH ĐẶT TÊN TRONG JAVASCRIPT



Tùy mục đích sử dụng mà bạn sử dụng cách đặt tên khác nhau trong JavaScript. Và mặc dù quy ước này không phải là hoàn toàn bắt buộc, nhưng nó là tiêu chuẩn ngầm định được cộng đồng JavaScript công nhận.


Vấn đề đặt tên cực kỳ quan trọng bởi hầu hết thời gian bạn sử dụng để đọc lại code, sửa chữa và tối ưu nó.


Đừng cố tự làm khó mình, khó đồng đội.


Biết cách đặt tên chuẩn trong JavaScript thì dù bạn có tiếp cận với dự án nào cũng sẽ nhanh chóng hơn, làm việc được với nhiều team nhờ tiếng nói chung.


> Đọc thêm: Tự học lập trình bắt đầu từ đâu?



---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
Bình luận Facebook
Khóa học liên quan đến bài viết

KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS

56 giờ
Học Lập trình Front end hiện đại với ReactJS. Học làm chủ HTML, CSS, JS và thư viện JavaScript phổ biến nhất hiện nay. Sẵn sàng đi thực tập / đi làm ngay sau khóa học.

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate

KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)

48 giờ
Khóa học Angular & TypeScript (Front end) sẽ giúp bạn làm chủ được nền tảng Angular từ đó phát triển được các ứng dụng mạnh mẽ, đa nền tảng.
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!