Hướng dẫn what are javascript special values? - các giá trị đặc biệt của javascript là gì?

Trong JavaScript, như trong các ngôn ngữ lập trình khác, có các từ khóa cho một số giá trị đặc biệt. Đây là:

//The answer is
6;
6;
6,
//The answer is
6;
6;
7,
//The answer is
6;
6;
8,
//The answer is
6;
6;
9,
var s = "primitive";
s.length; // 9
0,
var s = "primitive";
s.length; // 9
1,
var s = "primitive";
s.length; // 9
2.

Giá trị không xác định

Giá trị

//The answer is
6;
6;
6 biểu thị sự không chắc chắn. Một biến sẽ có một giá trị như vậy nếu chúng tôi khai báo nó, nhưng không ghi giá trị cho nó:

var s = "primitive";
s.length; // 9
4

Giá trị này có thể được gán rõ ràng cho một biến:

var s = "primitive";
s.length; // 9
5

Khai báo một biến mà không gán một giá trị cho nó. Hiển thị giá trị của biến được tạo trên màn hình.

Giá trị null

Giá trị

//The answer is
6;
6;
7 có nghĩa là "không có gì". Ví dụ: chúng ta có thể gán một giá trị như vậy cho một biến để chỉ ra rằng không có gì ở đó:

var s = "primitive";
s.length; // 9
7

Đặt biến thành

//The answer is
6;
6;
7. In biến này vào màn hình.

Giá trị đúng và sai

Các giá trị

//The answer is
6;
6;
8 và
//The answer is
6;
6;
9 được sử dụng cho những thứ yêu cầu hai câu trả lời - có hoặc không.

Đặt biến thành

//The answer is
6;
6;
8. Hiển thị biến này trên màn hình.

Đặt biến thành

//The answer is
6;
6;
9. Hiển thị biến này trên màn hình.

Giá trị nan

Giá trị

var s = "primitive";
s.length; // 9
0 có nghĩa là không phải là một số. Giá trị này có được khi bạn cố gắng thực hiện các hoạt động toán học không phải với các số, mà với một cái gì đó khác. Ví dụ: một nỗ lực để nhân một chuỗi với một số sẽ cho một giá trị như vậy:

var v;
typeof v; // "undefined"
v = 1;
typeof v; // "number"
v = "1";
typeof v; // "string"
v = [];
typeof v; // "object"
v = {};
typeof v; // "object"
v = null;
typeof v; // "object" OOPS!
4

Bất kỳ hoạt động nào với

var s = "primitive";
s.length; // 9
0 vẫn dẫn đến kết quả
var s = "primitive";
s.length; // 9
0:

var v;
typeof v; // "undefined"
v = 1;
typeof v; // "number"
v = "1";
typeof v; // "string"
v = [];
typeof v; // "object"
v = {};
typeof v; // "object"
v = null;
typeof v; // "object" OOPS!
7

Tạo hai chuỗi. Nhân chúng lên nhau. In kết quả của phép nhân trên màn hình.

Giá trị vô cực và -Infinity

Các giá trị như

var s = "primitive";
s.length; // 9
1 và
var s = "primitive";
s.length; // 9
2 thu được nếu một số số được chia cho 0. JavaScript không đưa ra lỗi, trong trường hợp như vậy, như trong các ngôn ngữ lập trình khác, nhưng trả về các giá trị sau:

typeof doesnotexist; //"undefined"
0

Chia số

typeof doesnotexist; //"undefined"
1 cho
typeof doesnotexist; //"undefined"
2. Hiển thị kết quả trên màn hình.

Chia số

typeof doesnotexist; //"undefined"
3 cho
typeof doesnotexist; //"undefined"
2. Hiển thị kết quả trên màn hình.

Đây là bộ phim hiểu biết của tôi về loạt phim của tôi. Tôi sẽ viết về các khái niệm khác nhau để chia sẻ sự hiểu biết của tôi. Tôi mong được học một cái gì đó mới từ bạn.

Nhìn vào mã sau và đoán xem câu trả lời sẽ là gì.

var x = 5;
x++;
console.log(x);

var x = "5";
x++;
console.log(x);

Nó sẽ là một lỗi cho trường hợp thứ hai? Nó sẽ là 6? Tôi đã ở trong địa ngục khi tôi được hỏi câu hỏi này.

//The answer is
6;
6;

Bạn có biết những gì đã xảy ra ở đây?

typeof doesnotexist; //"undefined"
5 là một chuỗi trong trường hợp thứ hai. Nó đã được chuyển đổi thành một số và sau đó tăng lên.

Bạn có biết tại sao tôi đặt những câu hỏi như vậy ở trên không? Bởi vì chúng tôi sẽ thảo luận về các loại nguyên thủy và giá trị đặc biệt.Primitive Types and Special Values.

Hãy bắt đầu nào

JavaScript có các loại nguyên thủy sau:

  • //The answer is
    6;
    6;
    6
  • typeof doesnotexist; //"undefined"
    7
  • typeof doesnotexist; //"undefined"
    8
  • typeof doesnotexist; //"undefined"
    9
  • typeof typeof []; //"string"typeof []; //"object"
    typeof "object"; //"string"
    0
  • typeof typeof []; //"string"typeof []; //"object"
    typeof "object"; //"string"
    1

Loại nguyên thủy là gì? Một loại nguyên thủy là một giá trị ở mức thấp nhất của việc thực hiện ngôn ngữ; Hãy nghĩ về nó như một khối xây dựng. Nó không phải là

typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
2 và không có
typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
3 để gọi.

Đợi tí! Nó không có ____53 để gọi? Cả đời tôi đã làm điều này

var s = "primitive";
s.length; // 9

Làm thế quái nào chúng ta gọi độ dài trên

typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
5? Câu trả lời cho câu hỏi này là
typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
6 mà JS làm cho chính nó. JS chuyển đổi
typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
5 thành một đối tượng của lớp
typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
8 và chúng tôi gọi các phương thức của nó.

Trong JavaScript, các biến không có loại. Giá trị làm.

Khi chúng tôi gán một giá trị cho một biến, thì chúng tôi sử dụng toán tử như

typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
9 để tìm ra giá trị và để xác định một cái gì đó về danh tính của nó, loại của nó, loại của nó.

NB: Khi chúng tôi làm

typeof NaN; //"number"var number = 5; //5
number - "four"; //NaN
var nan = Number("n/a"); //NaN
0, chúng tôi không hỏi loại biến; Thay vào đó, chúng tôi yêu cầu loại giá trị hiện tại trong x.: When we do
typeof NaN; //"number"var number = 5; //5
number - "four"; //NaN
var nan = Number("n/a"); //NaN
0 we do not ask the type of variable; rather, we ask for the type of value currently in x.

Bây giờ, đọc lại văn bản táo bạo ở trên, và nó sẽ có ý nghĩa hơn rất nhiều.

var v;
typeof v; // "undefined"
v = 1;
typeof v; // "number"
v = "1";
typeof v; // "string"
v = [];
typeof v; // "object"
v = {};
typeof v; // "object"
v = null;
typeof v; // "object" OOPS!

Tất cả các đầu ra là hợp lý ngoại trừ phần cuối,

typeof NaN; //"number"var number = 5; //5
number - "four"; //NaN
var nan = Number("n/a"); //NaN
1 đó là
typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
2? Đúng! Đây được cho là một lỗi trong JavaScript và bây giờ họ không thể sửa nó vì nó sẽ phá vỡ rất nhiều mã. Bây giờ, nó rất hợp lý tại sao
//The answer is
6;
6;
7 không phải là một loại nguyên thủy.

typeof doesnotexist; //"undefined"

Nó kỳ lạ. Nếu biến không tồn tại, loại của nó vẫn còn.

//The answer is
6;
6;
6. Bạn không nghĩ nó nên là một cái gì đó giống như
typeof NaN; //"number"var number = 5; //5
number - "four"; //NaN
var nan = Number("n/a"); //NaN
5 ?. Nó sẽ không biểu cảm hơn?

JavaScript coi biến

typeof NaN; //"number"var number = 5; //5
number - "four"; //NaN
var nan = Number("n/a"); //NaN
5 là loại
//The answer is
6;
6;
6, và nó là một trong những điều quan trọng để quan tâm.

Ngoài ra, chúng ta có thể suy ra một thực tế thú vị từ điều này. Toán tử

typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
9 là toán tử duy nhất có thể tham khảo một cái gì đó không tồn tại và vẫn không gây ra lỗi. Xin hãy chú ý đến điều này nếu và khi bạn thử điều này trong sản xuất: p.

Quan sát các trích dẫn đó trong giá trị trả về từ

typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
9, đó là một
typeof doesnotexist; //"undefined"
7.
typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
9 đảm bảo rằng nó sẽ luôn trả về chuỗi.

typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"

Tôi đoán ví dụ này phải giúp hiểu

typeof typeof []; //"string"typeof []; //"object"
typeof "object"; //"string"
9 tốt hơn.

Giá trị đặc biệt

Trong các loại nguyên thủy, chúng tôi có các giá trị đặc biệt mà chúng tôi nên tập trung vào, có khá nhiều, nhưng chúng tôi sẽ tập trung vào hai giá trị đặc biệt mọc lên thường xuyên hơn chúng tôi muốn.

Nan

Nhiều người trong chúng ta nghĩ về nó như một từ viết tắt của không phải là một số, mà không chính xác. Trong JavaScript, ________ 20 là một giá trị đặc biệt có nghĩa là một số không hợp lệ.

typeof NaN; //"number"var number = 5; //5
number - "four"; //NaN
var nan = Number("n/a"); //NaN

Tôi hy vọng những ví dụ này có ý nghĩa và ví dụ cuối cùng là một cách có thể và được khuyến nghị để tạo NAN. Nan có một tài sản phi thường. Đó là giá trị duy nhất không bằng chính nó. is the only value that is not equal to itself.

NaN === NaN       //false

Vì vậy, nếu bộ ba bằng lời nói dối với chúng tôi, chúng tôi cần một cách để xác định xem một giá trị có phải là nan hay không.

NaN === NaN       //false
4 Đây là một chức năng tiện ích có thể giúp chúng tôi xác định.

isNaN(32); //false
isNaN(NaN); //true
isNaN("AmINaN"); //true OOPS!

Lạ lùng! Có phải là nó không? Điều này đã làm việc cho hai ví dụ đầu tiên và đưa ra câu trả lời sai trong ví dụ cuối cùng. Vâng, vì việc thực hiện nó.

NaN === NaN       //false
5 Chuyển đổi đối số được chuyển sang
NaN === NaN       //false
6 và sau đó kiểm tra xem đó có phải là
var s = "primitive";
s.length; // 9
0 hay không.

Vì vậy, ví dụ cuối cùng đã ép buộc một cái gì đó như thế này:

isNaN(Number("AmINaN"));
//we all know that
Number("AmINaN"); //NaN
//as a result
isNaN(NaN); //true

Làm thế nào bạn sẽ kiểm tra xem một số là NAN? Có một chức năng tiện ích khác sẽ luôn cung cấp cho bạn câu trả lời chính xác.

//The answer is
6;
6;
0

Dưới đây là một phương thức tùy chỉnh sẽ không dẫn đến một giá trị không chính xác.

//The answer is
6;
6;
1

0 âm

Hãy để nói về một giá trị đặc biệt khác tồn tại,

NaN === NaN       //false
8. Tôi đã hoàn toàn lãng quên rằng một cái gì đó như
NaN === NaN       //false
8 tồn tại trong JavaScript. 0 âm về cơ bản là 0 với bit có chữ ký.

//The answer is
6;
6;
2

Kỳ dị! Tất cả các hoạt động trên dường như là kỳ lạ. Nó cảm thấy như họ đang gian lận. Triple bằng lời nói dối với chúng ta, lớn hơn và ít hơn là hành xử kỳ lạ.

Vì vậy, làm thế nào người ta có thể xác định liệu chúng ta có

NaN === NaN       //false
8 hay không. Có một chức năng tại giải cứu của chúng tôi. Trong ES6, chúng tôi đã có
isNaN(32); //false
isNaN(NaN); //true
isNaN("AmINaN"); //true OOPS!
1 đến giải cứu của chúng tôi.

//The answer is
6;
6;
3

Có một cách khác để xác định

NaN === NaN       //false
8

//The answer is
6;
6;
4

Chúng ta có thể sử dụng thực tế này để tạo chức năng tùy chỉnh của chúng ta.

//The answer is
6;
6;
5

Đây là từ phía tôi, mọi người, và tôi sẽ quay lại để thảo luận về sự ép buộc trong JavaScript. Tôi rất thích nghe từ bạn, thảo luận với tôi trên Twitter hoặc Ping tôi trên LinkedIn.coercion in Javascript. I would love to hear from you, discuss with me on Twitter or ping me on LinkedIn.

Hẹn gặp lại bạn

Những loại giá trị khác nhau trong JavaScript?

Loại null. Loại NULL được sinh sống bởi chính xác một giá trị: null ..
Loại không xác định. Loại không xác định được sinh sống bởi chính xác một giá trị: không xác định. ....
Loại boolean. Loại Boolean đại diện cho một thực thể logic và được sinh sống bởi hai giá trị: Đúng và Sai. ....
Loại số. ....
Loại lớn. ....
Loại chuỗi. ....
Loại biểu tượng ..

Hai loại giá trị trong cú pháp JavaScript giải thích là gì?

Cú pháp JavaScript xác định hai loại giá trị: giá trị cố định.Giá trị biến.Fixed values. Variable values.

Ba loại dữ liệu trong JavaScript là gì?

JavaScript cho phép bạn làm việc với ba loại dữ liệu nguyên thủy: số, chuỗi văn bản (được gọi là chuỗi chuỗi) và các giá trị sự thật Boolean (được gọi là Boo Booeans Hồi).JavaScript cũng xác định hai loại dữ liệu tầm thường, null và không xác định, mỗi loại chỉ xác định một giá trị duy nhất.numbers, strings of text (known as “strings”), and boolean truth values (known as “booleans”). JavaScript also defines two trivial data types, null and undefined, each of which defines only a single value.

Có bao nhiêu giá trị trong JavaScript?

Có sáu loại giá trị cơ bản: số, chuỗi, booleans, đối tượng, hàm và giá trị không xác định.six basic types of values: Numbers, strings, booleans, objects, functions, and undefined values.