Hướng dẫn should objects be capitalized javascript? - các đối tượng có nên viết hoa javascript không?

Tôi biết câu hỏi này không có câu trả lời, nhưng tôi tò mò muốn biết người khác nghĩ gì.

Trong một ngôn ngữ như Java, đó là một quy ước để bắt đầu các lớp học có chữ in hoa và các đối tượng có chữ thường. Nhưng những gì về JavaScript, nơi mọi thứ là một đối tượng?

Tôi đã thấy một số người đề nghị chỉ viết hoa các đối tượng được coi là lớp học; tức là các đối tượng chức năng với một nguyên mẫu, được dự định sẽ được sử dụng với toán tử mới. Các trường hợp của các đối tượng sẽ được hạ thấp.new operator. Instances of those objects would be lowercased.

Nghe có vẻ hợp lý. Nhưng bạn làm gì về "các đối tượng toàn cầu", nơi chỉ có một trường hợp? Hầu hết mọi người dường như tận dụng những điều này (ví dụ: toán học hoặc ext.history). Điều này cảm thấy đúng, nhưng thật khó để biện minh cho nó với một quy tắc nhất quán.Math or Ext.History). This intuitively feels right, but it's hard to justify it with a consistent rule.

Và những gì về các đối tượng được sử dụng làm không gian tên? Chúng dường như là tất cả trên bản đồ: yui, ext.util, jQuery, v.v.YUI, Ext.util, jQuery, etc.

Vui lòng cung cấp các hợp lý hóa thế tục cho quan điểm tôn giáo trái tim của bạn.

Hướng dẫn should objects be capitalized javascript? - các đối tượng có nên viết hoa javascript không?

Nhiều hướng dẫn kiểu JavaScript đề xuất viết hoa tên liên tục. Cá nhân, tôi hiếm khi thấy quy ước này được sử dụng nơi tôi nghĩ nó nên được. Điều này là do định nghĩa của tôi về một hằng số là một chút tắt. Tôi quyết định thực hiện một chút đào và trở nên quen thuộc hơn với quy ước này.

Làm thế nào để chúng ta xác định thuật ngữ hằng số không?

Trong lập trình, một điều gì đó không đổi mà không thay đổi.

Đó là một giá trị không thể được thay đổi bởi chương trình trong quá trình thực hiện bình thường.

Vì vậy, JavaScript có cho chúng ta một cách để tuyên bố một giá trị có thể thay đổi không? Trước khi chúng tôi trả lời điều này, hãy để Lôi nhìn vào nguồn gốc của Công ước này.

Công ước viết hoa có nguồn gốc từ C

C là một ngôn ngữ được biên dịch. Điều này có nghĩa là một chương trình khác chuyển đổi tất cả mã của bạn thành mã máy trước khi nó chạy.

JavaScript, mặt khác, là một ngôn ngữ được giải thích. Một trình thông dịch đọc mã của bạn, từng dòng, khi nó chạy.

Sự khác biệt giữa tổng hợp và giải thích đóng một vai trò trong cách chúng ta khai báo các giá trị không đổi trong C.

Trong C, tôi có thể khai báo một biến như thế này:

int hoursInDay = 24;

Hoặc, một hằng số như thế này:

#define hoursInDay 24

Ví dụ thứ hai được gọi là hằng số biểu tượng. Hằng số tượng trưng có thể là một chuỗi các ký tự, hằng số số hoặc một chuỗi. Chúng cũng được gọi là giá trị nguyên thủy. Các giá trị nguyên thủy trong JavaScript là các chuỗi, số, booleans, null, không xác định, biểu tượng (không bị nhầm lẫn với các hằng số tượng trưng) và int lớn.symbolic constant. Symbolic constants can be a sequence of characters, a numeric constant, or a string. These are also called primitive values. The primitive values in JavaScript are strings, numbers, booleans, null, undefined, symbol (not to be confused with symbolic constants) and big int.

Bây giờ, hãy để xem lại tổng hợp.

Trước khi biên dịch, có một giai đoạn trước. Ở đây, trình biên dịch trước thay thế tất cả các trường hợp của các hằng số tượng trưng với giá trị tương ứng. Trình biên dịch không bao giờ biết rằng lập trình viên đã viết hoursInDay. Nó chỉ nhìn thấy số 24.

Viết hoa giúp lập trình viên nhìn thấy những giá trị thực sự không đổi này.

#define HOURS_IN_DAY 24

Hằng số JavaScript khác với các hằng số biểu tượng

Trước ES6, chúng tôi đã lưu trữ hầu hết các giá trị trong các biến, ngay cả những giá trị mà bạn muốn duy trì không đổi.

Vốn hóa đã giúp chúng tôi thấy các giá trị mà chúng tôi muốn duy trì không đổi.

var HOURS_IN_DAY = 24;
var hoursRemaining = currentHour - HOURS_IN_DAY;
var MY_NAME = 'Brandon';
MY_NAME = ... // oops don't want to do this.

ES6 đã giới thiệu tuyên bố const trong đó là một hằng số của người Hồi giáo theo nghĩa thuần khiết nhất.

ES6 đã thêm các thuật ngữ const

const firstPerson = {
  favoriteNumber: 10,
};
const secondPerson = firstPerson;
console.log(secondPerson.favoriteNumber); //10
firstPerson.favoriteNumber +=1;
console.log(secondPerson.favoriteNumber); //11
0 như là cách để tạo các biến với các ý định khác nhau.

Với hai thuật ngữ đó, bạn có thể nghĩ rằng chúng tôi cũng vậy:

  1. Don Tiết cần tận dụng bất cứ điều gì vì chúng ta có thể thấy rõ các biến nào được dự định giữ nguyên, hoặc
  2. Chúng ta nên tận dụng mọi thứ mà chúng ta tuyên bố với const.

Theo định nghĩa, const tạo ra một hằng số chỉ là một tham chiếu chỉ đọc cho một giá trị. Điều này không có nghĩa là giá trị mà nó giữ là bất biến. Nó chỉ nói rằng mã định danh biến không thể được chỉ định lại.

Nói cách khác, một số tài liệu tham khảo const có thể thay đổi.

const firstPerson = {
  favoriteNumber: 10,
};
const secondPerson = firstPerson;
console.log(secondPerson.favoriteNumber); //10
firstPerson.favoriteNumber +=1;
console.log(secondPerson.favoriteNumber); //11

Ví dụ trên cho thấy Tuyên bố const không đảm bảo rằng biến này là bất biến.

const chỉ ngăn chúng ta cố gắng gán lại tên biến. Nó không ngăn chặn tài sản đối tượng thay đổi. Hãy nhớ rằng: các đối tượng được tham chiếu qua.

// "TypeError: Assignment to constant variable."secondPerson = 'something else';
const secondPerson = 'Me'
secondPerson = 'something else';

Vì vậy, đối với JavaScript, chúng ta phải vượt ra ngoài việc chỉ tìm kiếm một tuyên bố const. Chúng ta cần hỏi hai câu hỏi để xác định xem một biến có không đổi:

  1. Là giá trị của biến nguyên thủy?
  2. Chúng ta có dự định giữ tên biến chỉ vào cùng một giá trị trong suốt chương trình của chúng tôi không?

Nếu câu trả lời là có cho cả hai, chúng ta nên khai báo biến với const và có thể tận dụng tên.

Lưu ý rằng tôi đã nói rằng tháng năm. Tinh thần của quy ước này xuất phát từ các ngôn ngữ khác nhau có hằng số thực tế. JavaScript không có. Ít nhất là theo nghĩa thuần khiết nhất. Đây có thể là lý do tại sao bạn thấy quy ước này ít thường xuyên hơn bạn mong đợi. Airbnb có một phần tuyệt vời trong hướng dẫn phong cách của họ với việc lấy ở đây.

Điểm quan trọng là nhận ra việc xác định một hằng số trong JavaScript phải bao gồm ý định của lập trình viên.key takeaway is to recognize defining a constant in JavaScript has to include the programmer's intentions.

Ngoài ra, không phải mọi quy ước từ một ngôn ngữ đều có ý nghĩa trong một ngôn ngữ khác nhau. Cuối cùng, tôi chỉ có thể tưởng tượng nhiều quy ước đã được sử dụng từ lâu trước khi IDES có khả năng mà chúng có ngày hôm nay. Tôi đã thuyết phục IDE của tôi rất vui khi nói với tôi rằng tôi đã sai. Nó xảy ra rất nhiều.

Cảm ơn vì đã đọc!

Woz

Theo dõi tôi trên Twitter.

Ghi chú

  • Bạn có thể tự hỏi tại sao tôi đã sử dụng
    const firstPerson = {
      favoriteNumber: 10,
    };
    const secondPerson = firstPerson;
    console.log(secondPerson.favoriteNumber); //10
    firstPerson.favoriteNumber +=1;
    console.log(secondPerson.favoriteNumber); //11
    8 trong bất kỳ ví dụ nào trong số này. Các từ viết tắt, đặc biệt là các từ viết tắt hai chữ cái có xu hướng luôn luôn được viết hoa hoặc luôn luôn viết thường theo quy ước.


Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Bạn có viết hoa cho các đối tượng JavaScript không?

Độ nhạy của trường hợp hầu hết mọi thứ trong JavaScript là trường hợp nhạy cảm: Bạn không thể sử dụng chữ thường và chữ in hoa thay thế cho nhau. Dưới đây là một vài quy tắc chung: từ khóa JavaScript, chẳng hạn như và nếu, luôn luôn là chữ thường. Các đối tượng tích hợp như toán học và ngày được viết hoa.Built-in objects such as Math and Date are capitalized.

Các đối tượng có nên được viết hoa?

Sử dụng thủ đô cho danh từ thích hợp.Nói cách khác, viết hoa tên của con người, địa điểm cụ thể và mọi thứ.Ví dụ: Chúng tôi không tận dụng từ "cây cầu" trừ khi nó bắt đầu một câu, nhưng chúng tôi phải tận dụng cầu Brooklyn vì đó là tên của một cây cầu cụ thể.capitalize the names of people, specific places, and things. For example: We don't capitalize the word "bridge" unless it starts a sentence, but we must capitalize Brooklyn Bridge because it is the name of a specific bridge.

Các hằng số có nên được viết hoa javascript?

Các hằng số có thể được khai báo bằng chữ hoa hoặc chữ thường, nhưng một quy ước chung là sử dụng các chữ cái UPPERCase..

Viết hoa trong JavaScript là gì?

Để tận dụng ký tự đầu tiên của chuỗi, chúng ta có thể sử dụng charat () để tách ký tự đầu tiên và sau đó sử dụng hàm toupppercase () để tận dụng nó.Bây giờ, chúng tôi sẽ nhận được các ký tự còn lại của chuỗi bằng hàm Slice ().use the charAt() to separate the first character and then use the toUpperCase() function to capitalize it. Now, we would get the remaining characters of the string using the slice() function.