diff --git a/readMe.md b/readMe.md index df5c26f..3aed00f 100644 --- a/readMe.md +++ b/readMe.md @@ -110,19 +110,17 @@ - [Variables](#variables) - [馃捇 Day 1: Exercises](#-day-1-exercises) -# 馃摂 Day 1 +# 馃摂 讬讜诐 1 -## Introduction +## 诪讘讜讗 -**Congratulations** on deciding to participate in 30 days of JavaScript programming challenge. In this challenge you will learn everything you need to be a JavaScript programmer, and in general, the whole concept of programming. In the end of the challenge you will get a 30DaysOfJavaScript programming challenge completion certificate. In case you need help or if you would like to help others you may join the [telegram group](https://t.me/ThirtyDaysOfJavaScript). +**诪讝诇 讟讜讘** 注诇 讛讛讞诇讟讛 诇讛砖转转祝 讘-30 讬讜诐 砖诇 讗转讙专 转讻谞讜转 JavaScript. 讘讗转讙专 讛讝讛 转诇诪讚讜 讗转 讻诇 诪讛 砖爪专讬讱 讻讚讬 诇讛讬讜转 诪转讻谞转 JavaScript, 讜讘讻诇诇, 讗转 讻诇 讛拽讜谞住驻讟 砖诇 转讻谞讜转. 讘住讜祝 讛讗转讙专 转拽讘诇讜 转注讜讚转 住讬讜诐 讗转讙专 转讻谞讜转 30DaysOfJavaScript. 讘诪拽专讛 砖讗转讛 爪专讬讱 注讝专讛 讗讜 讗诐 转专爪讛 诇注讝讜专 诇讗讞专讬诐, 讗转讛 讬讻讜诇 诇讛爪讟专祝 诇[拽讘讜爪转 讛讟诇讙专诐](https://t.me/ThirtyDaysOfJavaScript). -**A 30DaysOfJavaScript** challenge is a guide for both beginners and advanced JavaScript developers. Welcome to JavaScript. JavaScript is the language of the web. I enjoy using and teaching JavaScript and I hope you will do so too. +**讗转讙专 30DaysOfJavaScript** 讛讜讗 诪讚专讬讱 诇诪驻转讞讬 JavaScript 诇诪转讞讬诇讬诐 讜诪转拽讚诪讬诐 讻讗讞讚. 讘专讜讻讬诐 讛讘讗讬诐 诇-JavaScript. JavaScript 讛讬讗 砖驻转 讛讗讬谞讟专谞讟. 讗谞讬 谞讛谞讛 诇讛砖转诪砖 讜诇诇诪讚 JavaScript 讜讗谞讬 诪拽讜讜讛 砖讙诐 讗转诐 转注砖讜 讝讗转. -In this step by step JavaScript challenge, you will learn JavaScript, the most popular programming language in the history of mankind. -JavaScript is used **_to add interactivity to websites, to develop mobile apps, desktop applications, games_** and nowadays JavaScript can be used for **_machine learning_** and **_AI_**. -**_JavaScript (JS)_** has increased in popularity in recent years and has been the leading -programming language for six consecutive years and is the most used programming language on -Github. +讘讗转讙专 JavaScript 砖诇讘 讗讞专 砖诇讘 讝讛 转诇诪讚 JavaScript, 砖驻转 讛转讻谞讜转 讛驻讜驻讜诇专讬转 讘讬讜转专 讘讛讬住讟讜专讬讛 砖诇 讛讗谞讜砖讜转. +JavaScript 诪砖诪砖 **_讻讚讬 诇讛讜住讬祝 讗讬谞讟专讗拽讟讬讘讬讜转 诇讗转专讬 讗讬谞讟专谞讟, 诇驻讬转讜讞 讗驻诇讬拽爪讬讜转 诪讜讘讬讬诇, 讬讬砖讜诪讬 砖讜诇讞谉 注讘讜讚讛, 诪砖讞拽讬诐_** 讜讻讬讜诐 谞讬转谉 诇讛砖转诪砖 讘-JavaScript 注讘讜专 **_诇诪讚 诪讻讜谞讛_** 讜 **_讘讬谞讛 诪诇讗讻讜转讬转_**. +**_JavaScript (JS)_** 讙讚诇 讘驻讜驻讜诇专讬讜转 讘砖谞讬诐 讛讗讞专讜谞讜转 讜讛讬讛 砖驻转 转讻谞讜转 讛诪讜讘讬诇讛 讘诪砖讱 砖砖 砖谞讬诐 专爪讜驻讜转 讜讛讬讗 砖驻转 讛转讻谞讜转 讛谞驻讜爪讛 讘讬讜转专 讘Github. ## 讚专讬砖讜转 @@ -161,7 +159,7 @@ v12.14.0 讬砖 讛专讘讛 讚驻讚驻谞讬诐 讘讞讜抓. 注诐 讝讗转, 讗谞讬 诪诪诇讬抓 讘讞讜诐 注诇 Google Chrome. -#### 讛转拽谞转 g Google Chrome +#### 讛转拽谞转 Google Chrome 讛转拽谉 讗转 [Google Chrome](https://www.google.com/chrome/) 讗诐 注讚讬讬谉 讗讬谉 诇讱. 讗谞讞谞讜 讬讻讜诇讬诐 诇讻转讜讘 拽讜讚 JavaScript 拽讟谉 讘拽讜谞住讜诇转 讛讚驻讚驻谉, 讗讘诇 讗谞讞谞讜 诇讗 诪砖转诪砖讬诐 讘拽讜谞住讜诇转 讛讚驻讚驻谉 讻讚讬 诇驻转讞 讗驻诇讬拽爪讬讜转. @@ -204,7 +202,7 @@ Ctl+Shift+I ##### Console.log -讻讚讬 诇讻转讜讘 讗转 拽讜讚 讛-JavaScript 讛专讗砖讜谉 砖诇谞讜, 讛砖转诪砖谞讜 讘驻讜谞拽爪讬讛 诪讜讘谞讬转 **console.log()**. 讛注讘专谞讜 讗专讙讜诪谞讟 讻谞转讜谞讬 拽诇讟, 讜讛驻讜谞拽爪讬讛 诪爪讬讙讛 讗转 讛驻诇讟. 讛注讘专谞讜 讗转 `'Hello, World'` 讻谞转讜谞讬 拽诇讟 讗讜 讗专讙讜诪谞讟 讘驻讜谞拽爪讬讛 console.log() . +讻讚讬 诇讻转讜讘 讗转 拽讜讚 讛-JavaScript 讛专讗砖讜谉 砖诇谞讜, 讛砖转诪砖谞讜 讘驻讜谞拽爪讬讛 诪讜讘谞讬转 **()console.log**. 讛注讘专谞讜 讗专讙讜诪谞讟 讻谞转讜谞讬 拽诇讟, 讜讛驻讜谞拽爪讬讛 诪爪讬讙讛 讗转 讛驻诇讟. 讛注讘专谞讜 讗转 `'Hello, World'` 讻谞转讜谞讬 拽诇讟 讗讜 讗专讙讜诪谞讟 讘驻讜谞拽爪讬讛 ()console.log. ```js console.log('Hello, World!') @@ -212,7 +210,7 @@ console.log('Hello, World!') ##### Console.log 注诐 讗专讙讜诪谞讟讬诐 诪专讜讘讬诐 -The **`console.log()`** function can take multiple parameters separated by commas. The syntax looks like as follows:**`console.log(param1, param2, param3)`** +讛驻讜谞拽爪讬讛 **`()console.log`** 讬讻讜诇讛 诇拽讞转 驻专诪讟专讬诐 诪专讜讘讬诐 讛诪讜驻专讚讬诐 讘驻住讬拽讬诐. 讛转讞讘讬专 谞专讗讛 讻讱:**`(注专讱3, 注专讱2, 注专讱1)console.log`** ![console log multiple arguments](./images/console_log_multipl_arguments.png) @@ -222,23 +220,22 @@ console.log('HAPPY', 'NEW', 'YEAR', 2020) console.log('Welcome', 'to', 30, 'Days', 'Of', 'JavaScript') ``` -As you can see from the snippet code above, _`console.log()`_ can take multiple arguments. +讻驻讬 砖谞讬转谉 诇专讗讜转 诪拽讜讚 讛拽讟注 砖诇诪注诇讛, _`()console.log`_ 讬讻讜诇 诇拽讞转 讗专讙讜诪谞讟讬诐 诪专讜讘讬诐. -Congratulations! You wrote your first JavaScript code using _`console.log()`_. +诪讝诇 讟讜讘! 讻转讘转 讗转 拽讜讚 讛-JavaScript 讛专讗砖讜谉 砖诇讱 讘讗诪爪注讜转 _`()console.log`_. -##### Comments +##### 讛注专讜转 -We can add comments to our code. Comments are very important to make code more readable and to leave remarks in our code. JavaScript does not execute the comment part of our code. In JavaScript, any text line starting with // in JavaScript is a comment, and anything enclosed like this `//` is also a comment. - -**Example: Single Line Comment** +讗谞讞谞讜 讬讻讜诇讬诐 诇讛讜住讬祝 讛注专讜转 诇拽讜讚 砖诇谞讜. 讛注专讜转 讞砖讜讘讜转 诪讗讜讚 讻讚讬 诇讛驻讜讱 讗转 讛拽讜讚 诇拽专讬讗讛 讬讜转专 讜讻讚讬 诇讛砖讗讬专 讛注专讜转 讘拽讜讚 砖诇谞讜. JavaScript 讗讬谞讜 诪讘爪注 讗转 讞诇拽 讛讛注专讜转 讘拽讜讚 砖诇谞讜. 讘-JavaScript, 讻诇 砖讜专转 讟拽住讟 砖诪转讞讬诇讛 讘-// 讘-JavaScript 讛讬讗 讛注专讛, 讜讻诇 诪讛 砖诪爪讜专祝 讻讱 `//` 讛讜讗 讙诐 讛注专讛. +**讚讜讙诪讛: 讛注专讛 讘砖讜专讛 讗讞转** ```js -// This is the first comment -// This is the second comment -// I am a single line comment +// 讝讛 讛讛注专讛 讛专讗砖讜谞讛 砖诇讬 +// 讝讛 讛讛注专讛 讛砖谞讬讬讛 砖诇讬 +// 讗谞讬 讛注专讛 讘砖讜专讛 讗讞转 ``` -**Example: Multiline Comment** +**讚讜讙诪讛: 讛注专讛 诪专讜讘转 砖讜专讜转** ```js /* @@ -248,21 +245,21 @@ This is a multiline comment */ ``` -##### Syntax +##### 转讞讘讬专 -Programming languages are similar to human languages. English or many other language uses words, phrases, sentences, compound sentences and other more to convey a meaningful message. The English meaning of syntax is _the arrangement of words and phrases to create well-formed sentences in a language_. The technical definition of syntax is the structure of statements in a computer language. Programming languages have syntax. JavaScript is a programming language and like other programming languages it has its own syntax. If we do not write a syntax that JavaScript understands, it will raise different types of errors. We will explore different kinds of JavaScript errors later. For now, let us see syntax errors. +砖驻讜转 转讻谞讜转 讚讜诪讜转 诇砖驻讜转 讗谞讜砖讬讜转. 注讘专讬转 讗讜 砖驻讜转 专讘讜转 讗讞专讜转 诪砖转诪砖讜转 讘诪讬诇讬诐, 讘讬讟讜讬讬诐, 诪砖驻讟讬诐, 诪砖驻讟讬诐 诪讜专讻讘讬诐 讜注讜讚 讻讚讬 诇讛注讘讬专 诪住专 诪砖诪注讜转讬. 讛诪砖诪注讜转 讛注讘专讬转 砖诇 转讞讘讬专 讛讬讗 _讛住讚专 砖诇 诪讬诇讬诐 讜讘讬讟讜讬讬诐 诇讬爪讬专转 诪砖驻讟讬诐 诪注讜爪讘讬诐 讛讬讟讘 讘砖驻讛_. 讛讛讙讚专讛 讛讟讻谞讬转 砖诇 转讞讘讬专 讛讬讗 诪讘谞讛 讛讛爪讛专讜转 讘砖驻转 诪讞砖讘. 诇砖驻讜转 转讻谞讜转 讬砖 转讞讘讬专. JavaScript 讛讬讗 砖驻转 转讻谞讜转 讜讻诪讜 砖驻讜转 转讻谞讜转 讗讞专讜转 讬砖 诇讛 转讞讘讬专 诪砖诇讛. 讗诐 诇讗 谞讻转讜讘 转讞讘讬专 砖-JavaScript 诪讘讬谉, 讝讛 讬注诇讛 住讜讙讬诐 砖讜谞讬诐 砖诇 砖讙讬讗讜转. 讗谞讜 谞讞拽讜专 住讜讙讬诐 砖讜谞讬诐 砖诇 砖讙讬讗讜转 JavaScript 诪讗讜讞专 讬讜转专. 诇注转 注转讛, 讛讘讛 谞专讗讛 砖讙讬讗讜转 转讞讘讬专. ![Error](images/raising_syntax_error.png) -I made a deliberate mistake. As a result, the console raises syntax errors. Actually, the syntax is very informative. It informs what type of mistake was made. By reading the error feedback guideline, we can correct the syntax and fix the problem. The process of identifying and removing errors from a program is called debugging. Let us fix the errors: +注砖讬转讬 讟注讜转 诪讻讜讜谞转. 讻转讜爪讗讛 诪讻讱, 讛拽讜谞住讜诇讛 诪注诇讛 砖讙讬讗讜转 转讞讘讬专. 诇诪注砖讛, 讛转讞讘讬专 讛讜讗 诪讗讜讚 讗讬谞驻讜专诪讟讬讘讬. 讝讛 诪讜讚讬注 讗讬讝讛 住讜讙 砖诇 讟注讜转 谞注砖转讛. 注诇 讬讚讬 拽专讬讗转 讛谞讞讬讜转 讛诪砖讜讘 注诇 讛砖讙讬讗讜转, 谞讜讻诇 诇转拽谉 讗转 讛转讞讘讬专 讜诇转拽谉 讗转 讛讘注讬讛. 转讛诇讬讱 讛讝讬讛讜讬 讜讛讛住专讛 砖诇 砖讙讬讗讜转 诪转讜讻谞讛 谞拽专讗 讗讬转讜专 讘讗讙讬诐. 转谉 诇谞讜 诇转拽谉 讗转 讛砖讙讬讗讜转: ```js console.log('Hello, World!') console.log('Hello, World!') ``` -So far, we saw how to display text using the _`console.log()`_. If we are printing text or string using _`console.log()`_, the text has to be inside the single quotes, double quotes, or a backtick. -**Example:** +注讚 讻讛, 专讗讬谞讜 讻讬爪讚 诇讛爪讬讙 讟拽住讟 讘讗诪爪注讜转 _`()console.log`_. 讗诐 讗谞讜 诪讚驻讬住讬诐 讟拽住讟 讗讜 诪讞专讜讝转 讘讗诪爪注讜转 _`()console.log`_, 讛讟拽住讟 讞讬讬讘 诇讛讬讜转 讘转讜讱 讛诪讬专讻讗讜转 讛讘讜讚讚讜转, 讛诪讬专讻讗讜转 讛讻驻讜诇讜转 讗讜 住诪诇 讗讞讜专讬. +**讚讜讙诪讛:** ```js console.log('Hello, World!') @@ -272,36 +269,36 @@ console.log(`Hello, World!`) #### Arithmetics -Now, let us practice more writing JavaScript codes using _`console.log()`_ on Google Chrome console for number data types. -In addition to the text, we can also do mathematical calculations using JavaScript. Let us do the following simple calculations. -It is possible to write JavaScript code on Google Chrome console can directly without the **_`console.log()`_** function. However, it is included in this introduction because most of this challenge would be taking place in a text editor where the usage of the function would be mandatory. You can play around directly with instructions on the console. +讻注转, 讛讘讛 谞转专讙诇 讬讜转专 讻转讬讘转 拽讜讚讬 JavaScript 讘讗诪爪注讜转 _`console.log()`_ 讘诪住讜祝 Google Chrome 注讘讜专 住讜讙讬 谞转讜谞讬 诪住驻专讬诐. +讘谞讜住祝 诇讟拽住讟, 谞讜讻诇 讙诐 诇讘爪注 讞讬砖讜讘讬诐 诪转诪讟讬讬诐 讘讗诪爪注讜转 JavaScript. 讛讘讛 谞注砖讛 讗转 讛讞讬砖讜讘讬诐 讛驻砖讜讟讬诐 讛讘讗讬诐. +讗驻砖专 诇讻转讜讘 拽讜讚 JavaScript 讘诪住讜祝 Google Chrome 讬砖讬专讜转 诇诇讗 讛驻讜谞拽爪讬讛 **_`()console.log`_**. 注诐 讝讗转, 讛讜讗 谞讻诇诇 讘讛拽讚诪讛 讝讜 诪讻讬讜讜谉 砖专讜讘 讛讗转讙专 讛讝讛 讬转拽讬讬诐 讘注讜专讱 讟拽住讟 砖讘讜 讛砖讬诪讜砖 讘驻讜谞拽爪讬讛 讬讛讬讛 讞讜讘讛. 讗转讛 讬讻讜诇 诇砖讞拽 讬砖讬专讜转 注诐 讛讜专讗讜转 讘拽讜谞住讜诇讛. ![Arithmetic](images/arithmetic.png) ```js -console.log(2 + 3) // Addition -console.log(3 - 2) // Subtraction -console.log(2 * 3) // Multiplication -console.log(3 / 2) // Division -console.log(3 % 2) // Modulus - finding remainder +console.log(2 + 3) // 讞讬讘讜专 +console.log(3 - 2) // 讞住讜专 +console.log(2 * 3) // 讻驻诇 +console.log(3 / 2) // 讞讬诇讜拽 +console.log(3 % 2) // 诪讜讚讜诇讜住 - 诪爪讬讗转 砖讗专讬转 console.log(3 ** 2) // Exponentiation 3 ** 2 == 3 * 3 ``` -### Code Editor +### 注讜专讱 拽讜讚 -We can write our codes on the browser console, but it won't be for bigger projects. In a real working environment, developers use different code editors to write their codes. In this 30 days of JavaScript challenge, we will be using Visual Studio Code. +讗谞讞谞讜 讬讻讜诇讬诐 诇讻转讜讘 讗转 讛拽讜讚讬诐 砖诇谞讜 讘拽讜谞住讜诇转 讛讚驻讚驻谉, 讗讘诇 讝讛 诇讗 讬讛讬讛 注讘讜专 驻专讜讬拽讟讬诐 讙讚讜诇讬诐 讬讜转专. 讘住讘讬讘转 注讘讜讚讛 讗诪讬转讬转, 诪驻转讞讬诐 诪砖转诪砖讬诐 讘注讜专讻讬 拽讜讚 砖讜谞讬诐 讻讚讬 诇讻转讜讘 讗转 讛拽讜讚讬诐 砖诇讛诐. 讘-30 讛讬诪讬诐 讛讗诇讛 砖诇 讗转讙专 JavaScript, 谞砖转诪砖 讘-Visual Studio Code. -#### Installing Visual Studio Code +#### 讛转拽谞转 Visual Studio Code -Visual Studio Code is a very popular open-source text editor. I would recommend to [download Visual Studio Code](https://code.visualstudio.com/), but if you are in favor of other editors, feel free to follow with what you have. +Visual Studio Code 讛讜讗 注讜专讱 讟拽住讟 讘拽讜讚 驻转讜讞 驻讜驻讜诇专讬 诪讗讜讚. 讛讬讬转讬 诪诪诇讬抓 [诇讛讜专讬讚 讗转 Visual Studio Code](https://code.visualstudio.com/), 讗讘诇 讗诐 讗转讛 讘注讚 注讜专讻讬诐 讗讞专讬诐, 讗转讛 诪讜讝诪谉 诇注拽讜讘 讗讞专讬 诪讛 砖讬砖 诇讱. ![Vscode](images/vscode.png) -If you installed Visual Studio Code, let us start using it. +讗诐 讛转拽谞转 Visual Studio Code, 转谉 诇谞讜 诇讛转讞讬诇 诇讛砖转诪砖 讘讜. -#### How to Use Visual Studio Code +#### 讻讬爪讚 诇讛砖转诪砖 讘 Visual Studio code -Open the Visual Studio Code by double-clicking its icon. When you open it, you will get this kind of interface. Try to interact with the labeled icons. +驻转讞 讗转 拽讜讚 Visual Studio code 注诇 讬讚讬 诇讞讬爪讛 讻驻讜诇讛 注诇 讛住诪诇 砖诇讜. 讻砖转驻转讞 讗讜转讜, 转拽讘诇 诪诪砖拽 诪住讜讙 讝讛. 谞住讛 诇讬爪讜专 讗讬谞讟专讗拽爪讬讛 注诐 讛住诪诇讬诐 讛诪住讜诪谞讬诐. ![Vscode ui](./images/vscode_ui.png) @@ -317,20 +314,19 @@ Open the Visual Studio Code by double-clicking its icon. When you open it, you w ![coding running](./images/launched_on_new_tab.png) -## Adding JavaScript to a Web Page - -JavaScript can be added to a web page in three different ways: +## 讛讜住驻转 JavaScript 诇讚祝 讗讬谞讟专谞讟 -- **_Inline script_** -- **_Internal script_** -- **_External script_** -- **_Multiple External scripts_** +谞讬转谉 诇讛讜住讬祝 JavaScript 诇讚祝 讗讬谞讟专谞讟 讘砖诇讜砖 讚专讻讬诐 砖讜谞讜转: +- **_住拽专讬驻讟 诪讜讟讘注_** +- **_住拽专讬驻讟 驻谞讬诪讬_** +- **_住拽专讬驻讟 讞讬爪讜谞讬_** +- **_住拽专讬驻讟讬诐 讞讬爪讜谞讬讬诐 诪专讜讘讬诐_** -The following sections show different ways of adding JavaScript code to your web page. +讛住注讬驻讬诐 讛讘讗讬诐 诪爪讬讙讬诐 讚专讻讬诐 砖讜谞讜转 诇讛讜住驻转 拽讜讚 JavaScript 诇讚祝 讛讗讬谞讟专谞讟 砖诇讱. -### Inline Script +### 住拽专讬驻讟 诪讜讟讘注 -Create a project folder on your desktop or in any location, name it 30DaysOfJS and create an **_`index.html`_** file in the project folder. Then paste the following code and open it in a browser, for example [Chrome](https://www.google.com/chrome/). +爪讜专 转讬拽讬讬转 驻专讜讬拽讟 讘砖讜诇讞谉 讛注讘讜讚讛 砖诇讱 讗讜 讘讻诇 诪拽讜诐, 转拽专讗 诇讛 30DaysOfJS 讜爪讜专 拽讜讘抓 **_`index.html`_** 讘转讬拽讬讬转 讛驻专讜讬拽讟. 诇讗讞专 诪讻谉 讛讚讘拽 讗转 讛拽讜讚 讛讘讗 讜驻转讞 讗讜转讜 讘讚驻讚驻谉, 诇讚讜讙诪讛 [Chrome](https://www.google.com/chrome/). ```html @@ -344,12 +340,12 @@ Create a project folder on your desktop or in any location, name it 30DaysOfJS a ``` -Now, you just wrote your first inline script. We can create a pop up alert message using the _`alert()`_ built-in function. +注讻砖讬讜, 讘讚讬讜拽 讻转讘转 讗转 讛转住专讬讟 讛诪讜讟讘注 讛专讗砖讜谉 砖诇讱. 讗谞讜 讬讻讜诇讬诐 诇讬爪讜专 讛讜讚注转 讛转专讗讛 拽讜驻爪转 讘讗诪爪注讜转 讛驻讜谞拽爪讬讛 讛诪讜讘谞讬转 _`()alert`_. -### Internal Script +### 住拽专讬驻讟 驻谞讬诪讬 -The internal script can be written in the _`head`_ or the _`body`_, but it is preferred to put it on the body of the HTML document. -First, let us write on the head part of the page. +讗转 讛住拽专讬驻讟 讛驻谞讬诪讬 谞讬转谉 诇讻转讜讘 讘-_`head`_ 讗讜 讘-_`body`_, 讗讱 注讚讬祝 诇砖讬诐 讗讜转讜 讘讙讜祝 诪住诪讱 讛-HTML. +专讗砖讬转, 讛讘讛 谞讻转讜讘 注诇 讛讞诇拽 讛head 砖诇 讛讚祝. ```html @@ -364,7 +360,7 @@ First, let us write on the head part of the page. ``` -This is how we write an internal script most of the time. Writing the JavaScript code in the body section is the most preferred option. Open the browser console to see the output from the `console.log()`. +讻讱 讗谞讜 讻讜转讘讬诐 转住专讬讟 驻谞讬诪讬 专讜讘 讛讝诪谉. 讻转讬讘转 拽讜讚 讛-JavaScript 讘拽讟注 讛body 讛讬讗 讛讗驻砖专讜转 讛诪讜注讚驻转 讘讬讜转专. 驻转讞 讗转 诪住讜祝 讛讚驻讚驻谉 讻讚讬 诇专讗讜转 讗转 讛驻诇讟 诪讛-'()console.log'. ```html @@ -381,20 +377,19 @@ This is how we write an internal script most of the time. Writing the JavaScript ``` -Open the browser console to see the output from the `console.log()`. +驻转讞 讗转 诪住讜祝 讛讚驻讚驻谉 讻讚讬 诇专讗讜转 讗转 讛驻诇讟 诪讛-'()console.log'. ![js code from vscode](./images/js_code_vscode.png) -### External Script - -Similar to the internal script, the external script link can be on the header or body, but it is preferred to put it in the body. -First, we should create an external JavaScript file with .js extension. All files ending with .js extension are JavaScript files. Create a file named introduction.js inside your project directory and write the following code and link this .js file at the bottom of the body. +### 转住专讬讟 讞讬爪讜谞讬 +讘讚讜诪讛 诇住拽专讬驻讟 讛驻谞讬诪讬, 拽讬砖讜专 讛住拽专讬驻讟 讛讞讬爪讜谞讬 讬讻讜诇 诇讛讬讜转 讘讻讜转专转 讗讜 讛body, 讗讱 注讚讬祝 诇砖讬诐 讗讜转讜 讘body. +专讗砖讬转, 注诇讬谞讜 诇讬爪讜专 拽讜讘抓 JavaScript 讞讬爪讜谞讬 注诐 住讬讜诪转 .js. 讻诇 讛拽讘爪讬诐 讛诪住转讬讬诪讬诐 讘住讬讜诪转 js 讛诐 拽讜讘爪讬 JavaScript. 爪讜专 拽讜讘抓 讘砖诐 introduction.js 讘转讜讱 住驻专讬讬转 讛驻专讜讬拽讟 砖诇讱 讜讻转讜讘 讗转 讛拽讜讚 讛讘讗 讜拽砖专 讗转 拽讜讘抓 讛-.js 讛讝讛 讘转讞转讬转 讛body. ```js console.log('Welcome to 30DaysOfJavaScript') ``` -External scripts in the _head_: +住拽专讬驻讟讬诐 讞讬爪讜谞讬讬诐 讘-_head_: ```html @@ -407,7 +402,7 @@ External scripts in the _head_: ``` -External scripts in the _body_: +住拽专讬驻讟讬诐 讞讬爪讜谞讬讬诐 讘-_body_: ```html @@ -423,12 +418,12 @@ External scripts in the _body_: ``` -Open the browser console to see the output of the `console.log()`. +驻转讞 讗转 诪住讜祝 讛讚驻讚驻谉 讻讚讬 诇专讗讜转 讗转 讛驻诇讟 砖诇 讛-`console.log()`. -### Multiple External Scripts +### 诪住驻专 住拽专讬驻讟讬诐 讞讬爪讜谞讬讬诐 -We can also link multiple external JavaScript files to a web page. -Create a `helloworld.js` file inside the 30DaysOfJS folder and write the following code. +讗谞讜 讬讻讜诇讬诐 讙诐 诇拽砖专 诪住驻专 拽讜讘爪讬 JavaScript 讞讬爪讜谞讬讬诐 诇讚祝 讗讬谞讟专谞讟. +爪讜专 拽讜讘抓 `helloworld.js` 讘转讜讱 讛转讬拽讬讛 30DaysOfJS 讜讻转讜讘 讗转 讛拽讜讚 讛讘讗. ```js console.log('Hello, World!') @@ -447,28 +442,29 @@ console.log('Hello, World!') ``` -_Your main.js file should be below all other scripts_. It is very important to remember this. +_拽讜讘抓 main.js 砖诇讱 爪专讬讱 诇讛讬讜转 诪转讞转 诇讻诇 砖讗专 讛住拽专讬驻讟讬诐_. 讞砖讜讘 诪讗讜讚 诇讝讻讜专 讝讗转. ![Multiple Script](./images/multiple_script.png) -## Introduction to Data types +## 诪讘讜讗 诇住讜讙讬 谞转讜谞讬诐 + +讘-JavaScript 讜讙诐 讘砖驻讜转 转讻谞讜转 讗讞专讜转, 讬砖谞诐 住讜讙讬诐 砖讜谞讬诐 砖诇 住讜讙讬 谞转讜谞讬诐. 诇讛诇谉 住讜讙讬 谞转讜谞讬诐 驻专讬诪讬讟讬讘讬讬诐 砖诇 JavaScript: +_String (诪讞专讜讝转), Number (诪住驻专), Boolean (讘讜诇讬讗谉), undefined, Null_, 讜 _Symbol_. -In JavaScript and also other programming languages, there are different types of data types. The following are JavaScript primitive data types: _String, Number, Boolean, undefined, Null_, and _Symbol_. -### Numbers +### 诪住驻专讬诐 -- Integers: Integer (negative, zero and positive) numbers - Example: +- 诪住驻专讬诐 砖诇诪讬诐: 诪住驻专讬诐 砖诇诪讬诐 (砖诇讬诇讬, 讗驻住 讜讞讬讜讘讬). + 讚讜讙诪讗: ... -3, -2, -1, 0, 1, 2, 3 ... -- Float-point numbers: Decimal number - Example +- 诪住驻专讬 谞拽讜讚讛 爪驻讛: 诪住驻专 注砖专讜谞讬 + 讚讜讙诪讗 ... -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5 ... +### 诪讞专讜讝讜转 -### Strings +讗讜住祝 砖诇 转讜 讗讞讚 讗讜 讬讜转专 讘讬谉 砖转讬 诪专讻讗讜转 讘讜讚讚讜转, 诪专讻讗讜转 讻驻讜诇讜转 讗讜 讙专砖讬讬诐 讗讞讜专讬讬诐 (``). -A collection of one or more characters between two single quotes, double quotes, or backticks. - -**Example:** +**讚讜讙诪讛:** ```js 'a' @@ -483,39 +479,39 @@ A collection of one or more characters between two single quotes, double quotes, 'Any data type under a single quote, double quote or backtick is a string' ``` -### Booleans +### 讘讜诇讬讗谉 -A boolean value is either True or False. Any comparisons returns a boolean value, which is either true or false. +注专讱 讘讜诇讬讗谞讬 讛讜讗 谞讻讜谉 讗讜 诇讗 谞讻讜谉. 讻诇 讛砖讜讜讗讛 诪讞讝讬专讛 注专讱 讘讜诇讬讗谞讬, 砖讛讜讗 谞讻讜谉 讗讜 砖拽专. -A boolean data type is either a true or false value. +住讜讙 谞转讜谞讬诐 讘讜诇讬讗谞讬 讛讜讗 注专讱 讗诪讬转讬 讗讜 诇讗 谞讻讜谉. -**Example:** +**讚讜讙诪讛:** ```js -true // if the light is on, the value is true -false // if the light is off, the value is false +true // 讗诐 讛讗讜专 讚讜诇拽, 讛注专讱 谞讻讜谉 +false // 讗诐 讛讗讜专 讻讘讜讬, 讛注专讱 讛讜讗 false ``` -### Undefined +### Undefined (诇讗 诪讜讙讚专) -In JavaScript, if we don't assign a value to a variable, the value is undefined. In addition to that, if a function is not returning anything, it returns undefined. +讘-JavaScript, 讗诐 诇讗 谞拽爪讛 注专讱 诇诪砖转谞讛, 讛注专讱 讛讜讗 undefined (诇讗 诪讜讙讚专). 讘谞讜住祝 诇讻讱, 讗诐 驻讜谞拽爪讬讛 诇讗 诪讞讝讬专讛 讻诇讜诐, 讛讬讗 诪讞讝讬专讛 undefined. ```js let firstName -console.log(firstName) // undefined, because it is not assigned to a value yet +console.log(firstName) // undefined, 讻讬 讛讜讗 注讚讬讬谉 诇讗 诪讜拽爪讛 诇注专讱 ``` -### Null +### Null (专讬拽) -Null in JavaScript means an empty value. +Null 讘-JavaScript 驻讬专讜砖讜 注专讱 专讬拽. ```js let emptyValue = null ``` -## Checking Data Types +## 讘讚讬拽转 住讜讙讬 谞转讜谞讬诐 -To check the data type of a certain variable, we use the **typeof** operator. See the following example. +讻讚讬 诇讘讚讜拽 讗转 住讜讙 讛谞转讜谞讬诐 砖诇 诪砖转谞讛 诪住讜讬诐, 讗谞讜 诪砖转诪砖讬诐 讘讗讜驻专讟讜专 **typeof**. 专讗讛 讗转 讛讚讜讙诪讛 讛讘讗讛. ```js console.log(typeof 'Asabeneh') // string @@ -525,13 +521,13 @@ console.log(typeof null) // object type console.log(typeof undefined) // undefined ``` -## Comments Again +## 讛注专讜转 砖讜讘 -Remember that commenting in JavaScript is similar to other programming languages. Comments are important in making your code more readable. -There are two ways of commenting: +讝讻讜专 砖讛注专讛 讘-JavaScript 讚讜诪讛 诇砖驻讜转 转讻谞讜转 讗讞专讜转. 讛注专讜转 讞砖讜讘讜转 诇讛驻讬讻转 讛拽讜讚 砖诇讱 诇拽专讬讗讛 讬讜转专. +讬砖谞谉 砖转讬 讚专讻讬诐 诇讛讙讬讘: -- _Single line commenting_ -- _Multiline commenting_ +- _讛注专讛 讘砖讜专讛 讗讞转_ +- _讛注专讜转 诪专讜讘讜转 砖讜专讜转_ ```js // commenting the code itself with a single comment @@ -539,7 +535,7 @@ There are two ways of commenting: // let lastName = 'Yetayeh'; single line comment ``` -Multiline commenting: +讛注专讜转 诪专讜讘讜转 砖讜专讜转: ```js /* @@ -550,20 +546,19 @@ Multiline commenting: */ ``` -## Variables - -Variables are _containers_ of data. Variables are used to _store_ data in a memory location. When a variable is declared, a memory location is reserved. When a variable is assigned to a value (data), the memory space will be filled with that data. To declare a variable, we use _var_, _let_, or _const_ keywords. +## 诪砖转谞讬诐 -For a variable that changes at a different time, we use _let_. If the data does not change at all, we use _const_. For example, PI, country name, gravity do not change, and we can use _const_. We will not use var in this challenge and I don't recommend you to use it. It is error prone way of declaring variable it has lots of leak. We will talk more about var, let, and const in detail in other sections (scope). For now, the above explanation is enough. +诪砖转谞讬诐 讛诐 _诪讻诇讬诐_ 诇讗讻住谉 谞转讜谞讬诐. 诪砖转谞讬诐 诪砖诪砖讬诐 诇_讗讞住讜谉_ 谞转讜谞讬诐 讘诪讬拽讜诐 讝讬讻专讜谉. 讻讗砖专 诪砖转谞讛 诪讜爪讛专, 诪讬拽讜诐 讝讬讻专讜谉 砖诪讜专. 讻讗砖专 诪砖转谞讛 诪讜拽爪讛 诇注专讻讬诐 诪住讜讬讬诪讬诐, 砖讟讞 讛讝讬讻专讜谉 讬转诪诇讗 讘谞转讜谞讬诐 讗诇讜. 讻讚讬 诇讛爪讛讬专 注诇 诪砖转谞讛, 讗谞讜 诪砖转诪砖讬诐 讘诪讬诇讜转 诪驻转讞 _var_, _let_ 讗讜 _const_. +注讘讜专 诪砖转谞讛 砖诪砖转谞讛 讘讝诪谉 讗讞专, 讗谞讜 诪砖转诪砖讬诐 讘-_let_. 讗诐 讛谞转讜谞讬诐 讗讬谞诐 诪砖转谞讬诐 讻诇诇, 讗谞讜 诪砖转诪砖讬诐 讘-_const_. 诇讚讜讙诪讛, 驻讗讬, 砖诐 诪讚讬谞讛, 讻讜讞 诪砖讬讻讛 诇讗 诪砖转谞讬诐, 讜谞讜讻诇 诇讛砖转诪砖 讘-_const_. 诇讗 谞砖转诪砖 讘-var 讘讗转讙专 讛讝讛 讜讗谞讬 诇讗 诪诪诇讬抓 诇讱 诇讛砖转诪砖 讘讜. 讝讜讛讬 讚专讱 诪讜注讚转 诇砖讙讬讗讛 诇讛讻专讬讝 注诇 诪砖转谞讛 砖讬砖 诇讜 讛专讘讛 讚诇讬驻讛 讜诇讗 谞砖讗专 讘转讜讱 讛讛讬拽祝 砖诇讜. 谞讚讘专 讬讜转专 注诇 var, let 讜-const 讘驻讬专讜讟 讘住注讬驻讬诐 讗讞专讬诐 (讛讬拽祝). 诇注转 注转讛 讚讬 讘讛住讘专 诇注讬诇. -A valid JavaScript variable name must follow the following rules: +砖诐 诪砖转谞讛 JavaScript 讞讜拽讬 讞讬讬讘 诇注诪讜讚 讘讻诇诇讬诐 讛讘讗讬诐: -- A JavaScript variable name should not begin with a number. -- A JavaScript variable name does not allow special characters except dollar sign and underscore. -- A JavaScript variable name follows a camelCase convention. -- A JavaScript variable name should not have space between words. +- 砖诐 诪砖转谞讛 JavaScript 诇讗 讗诪讜专 诇讛转讞讬诇 讘诪住驻专. +- 砖诐 诪砖转谞讛 JavaScript 讗讬谞讜 诪讗驻砖专 转讜讜讬诐 诪讬讜讞讚讬诐 诇诪注讟 住讬诪谉 讚讜诇专 讜拽讜 转讞转讜谉. +- 砖诐 诪砖转谞讛 JavaScript 注讜拽讘 讗讞专 诪讜住讻诪讛 砖诇 camelCase (讗讜转 讙讚讜诇讛 讘转讞讬诇转 讛诪讬诇讛). +- 砖诐 诪砖转谞讛 JavaScript 诇讗 爪专讬讱 诇讻诇讜诇 专讜讜讞 讘讬谉 诪讬诇讬诐. -The following are examples of valid JavaScript variables. +诇讛诇谉 讚讜讙诪讗讜转 诇诪砖转谞讬 JavaScript 讞讜拽讬讬诐. ```js firstName @@ -587,9 +582,8 @@ year2020 year_2020 ``` -The first and second variables on the list follows the camelCase convention of declaring in JavaScript. In this material, we will use camelCase variables(camelWithOneHump). We use CamelCase(CamelWithTwoHump) to declare classes, we will discuss about classes and objects in other section. - -Example of invalid variables: +讛诪砖转谞讛 讛专讗砖讜谉 讜讛砖谞讬 讘专砖讬诪讛 注讜拽讘讬诐 讗讞专 诪讜住讻诪讜转 camelCase 砖诇 讛讻专讝讛 讘-JavaScript. 讘讞讜诪专 讝讛, 谞砖转诪砖 讘诪砖转谞讬 camelCase(讗讜转 讙讚讜诇讛 讘转讞讬诇转 诪讬诇讛 讛讞诇 诪讛诪讬诇讛 讛砖谞讬讬讛). 讗谞讜 诪砖转诪砖讬诐 讘-CamelCase(讗讜转 讙讚讜诇讛 讙诐 讘诪讬诇讛 讛专讗砖讜谞讛) 讻讚讬 诇讛讻专讬讝 注诇 诪讞诇拽讜转, 谞讚讜谉 注诇 诪讞诇拽讜转 讜讗讜讘讬讬拽讟讬诐 讘讞诇拽 讗讞专. +讚讜讙诪讛 诇诪砖转谞讬诐 诇讗 讞讜拽讬讬诐: ```js first-name @@ -597,24 +591,24 @@ Example of invalid variables: num_#_1 ``` -Let us declare variables with different data types. To declare a variable, we need to use _let_ or _const_ keyword before the variable name. Following the variable name, we write an equal sign (assignment operator), and a value(assigned data). +讛讘讛 谞讻专讬讝 注诇 诪砖转谞讬诐 注诐 住讜讙讬 谞转讜谞讬诐 砖讜谞讬诐. 讻讚讬 诇讛爪讛讬专 注诇 诪砖转谞讛, 注诇讬谞讜 诇讛砖转诪砖 讘诪讬诇转 讛诪驻转讞 _let_ 讗讜 _const_ 诇驻谞讬 砖诐 讛诪砖转谞讛. 诇讗讞专 砖诐 讛诪砖转谞讛, 讗谞讜 讻讜转讘讬诐 住讬诪谉 砖讜讜讛 (讗讜驻专讟讜专 讛拽爪讗讛), 讜注专讱 (谞转讜谞讬诐 砖讛讜拽爪讜). ```js -// Syntax +// 转讞讘讬专 let nameOfVariable = value ``` -The nameOfVriable is the name that stores different data of value. See below for detail examples. +nameOfVriable 讛讜讗 讛砖诐 讛诪讗讞住谉 谞转讜谞讬诐 讘注诇讬 注专讱 砖讜谞讬诐. 专讗讛 诇讛诇谉 讚讜讙诪讗讜转 诪驻讜专讟讜转. -**Examples of declared variables** +**讚讜讙诪讗讜转 诇诪砖转谞讬诐 诪讜爪讛专讬诐** ```js -// Declaring different variables of different data types -let firstName = 'Asabeneh' // first name of a person -let lastName = 'Yetayeh' // last name of a person -let country = 'Finland' // country -let city = 'Helsinki' // capital city -let age = 100 // age in years +// 讛爪讛专转 诪砖转谞讬诐 砖讜谞讬诐 诪住讜讙讬 谞转讜谞讬诐 砖讜谞讬诐 +let firstName = 'Asabeneh' // 砖诐 驻专讟讬 砖诇 讗讚诐 +let lastName = 'Yetayeh' // 砖诐 诪砖驻讞讛 砖诇 讗讚诐 +let country = 'Finland' // 诪讚讬谞讛 +let city = 'Helsinki' // 注讬专 +let age = 100 // 讙讬诇 let isMarried = true console.log(firstName, lastName, country, city, age, isMarried) @@ -625,11 +619,11 @@ Asabeneh Yetayeh Finland Helsinki 100 true ``` ```js -// Declaring variables with number values -let age = 100 // age in years -const gravity = 9.81 // earth gravity in m/s2 -const boilingPoint = 100 // water boiling point, temperature in 掳C -const PI = 3.14 // geometrical constant +// 讛爪讛专转 诪砖转谞讬诐 注诐 注专讻讬 诪住驻专 +let age = 100 // 讙讬诇 讛砖谞讬诐 +const gravity = 9.81 // 讻讜讞 讛讻讘讬讚讛 砖诇 讻讚讜专 讛讗专抓 讘-m/s2 +const boilingPoint = 100 // 谞拽讜讚转 专转讬讞讛 砖诇 诪讬诐, 讟诪驻专讟讜专讛 讘-掳C +const PI = 3.14 // 拽讘讜注 讙讬讗讜诪讟专讬 console.log(gravity, boilingPoint, PI) ``` @@ -638,7 +632,7 @@ console.log(gravity, boilingPoint, PI) ``` ```js -// Variables can also be declaring in one line separated by comma, however I recommend to use a seperate line to make code more readble +// 诪砖转谞讬诐 讬讻讜诇讬诐 讙诐 诇讛讻专讬讝 讘砖讜专讛 讗讞转 诪讜驻专讚讜转 讘驻住讬拽, 讗讜诇诐 讗谞讬 诪诪诇讬抓 诇讛砖转诪砖 讘砖讜专讛 谞驻专讚转 讻讚讬 诇讛驻讜讱 讗转 讛拽讜讚 诇拽专讬讗讛 讬讜转专 let name = 'Asabeneh', job = 'teacher', live = 'Finland' console.log(name, job, live) ``` @@ -647,32 +641,32 @@ console.log(name, job, live) Asabeneh teacher Finland ``` -When you run _index.html_ file in the 01-Day folder you should get this: +讻讗砖专 讗转讛 诪驻注讬诇 讗转 拽讜讘抓 _index.html_ 讘转讬拽讬讬讛 01-Day, 讗转讛 讗诪讜专 诇拽讘诇 讗转 讝讛: ![Day one](./images/day_1.png) -馃寱 You are amazing! You have just completed day 1 challenge and you are on your way to greatness. Now do some exercises for your brain and muscle. +馃寱 讗转讛 诪讚讛讬诐! 讝讛 注转讛 住讬讬诪转 讗转 讗转讙专 讛讬讜诐 讛专讗砖讜谉 讜讗转讛 讘讚专讱 诇讙讚讜诇讛. 注讻砖讬讜 转注砖讛 讻诪讛 转专讙讬诇讬诐 诇诪讜讞 讜诇砖专讬专讬诐 砖诇讱. -# 馃捇 Day 1: Exercises +# 馃捇 讬讜诐 1: 转专讙讬诇讬诐 -1. Write a single line comment which says, _comments can make code readable_ -2. Write another single comment which says, _Welcome to 30DaysOfJavaScript_ -3. Write a multiline comment which says, _comments can make code readable, easy to reuse_ - _and informative_ +1. 讻转讜讘 讛注专讛 讘砖讜专讛 讗讞转 砖讗讜诪专转, _讛注专讜转 讬讻讜诇讜转 诇讛驻讜讱 讗转 讛拽讜讚 诇拽专讬讗_ +2. 讻转讜讘 注讜讚 转讙讜讘讛 讘讜讚讚转 砖讗讜诪专转, _讘专讜讻讬诐 讛讘讗讬诐 诇-30DaysOfJavaScript_ +3. 讻转讜讘 讛注专讛 诪专讜讘转 砖讜专讜转 讛讗讜诪专转, _讛注专讜转 讬讻讜诇讜转 诇讛驻讜讱 讗转 讛拽讜讚 诇拽专讬讗, 拽诇 诇砖讬诪讜砖 讞讜讝专_ + _讜讗讬谞驻讜专诪讟讬讘讬_ -4. Create a variable.js file and declare variables and assign string, boolean, undefined and null data types -5. Create datatypes.js file and use the JavaScript **_typeof_** operator to check different data types. Check the data type of each variable -6. Declare four variables without assigning values -7. Declare four variables with assigned values -8. Declare variables to store your first name, last name, marital status, country and age in multiple lines -9. Declare variables to store your first name, last name, marital status, country and age in a single line -10. Declare two variables _myAge_ and _yourAge_ and assign them initial values and log to the browser console. +4. 爪讜专 拽讜讘抓 variable.js 讜讛讻专讝 注诇 诪砖转谞讬诐 讜讛拽爪讛 住讜讙讬 谞转讜谞讬诐 诪讞专讜讝转, 讘讜诇讬讗谞讬转, undefined 讜-null +5. 爪讜专 拽讜讘抓 datatypes.js 讜讛砖转诪砖 讘讗讜驻专讟讜专 JavaScript **_typeof_** 讻讚讬 诇讘讚讜拽 住讜讙讬 谞转讜谞讬诐 砖讜谞讬诐. 讘讚讜拽 讗转 住讜讙 讛谞转讜谞讬诐 砖诇 讻诇 诪砖转谞讛 +6. 讛讻专讝 注诇 讗专讘注讛 诪砖转谞讬诐 诪讘诇讬 诇讛拽爪讜转 注专讻讬诐 +7. 讛讻专讝 注诇 讗专讘注讛 诪砖转谞讬诐 注诐 注专讻讬诐 诪讜拽爪讬诐 +8. 讛爪讛专 注诇 诪砖转谞讬诐 诇讗讞住讜谉 砖诪讱 讛驻专讟讬, 砖诐 讛诪砖驻讞讛, 讛诪爪讘 讛诪砖驻讞转讬, 讛诪讚讬谞讛 讜讛讙讬诇 砖诇讱 讘诪住驻专 砖讜专讜转 +9. 讛爪讛专 注诇 诪砖转谞讬诐 诇讗讞住讜谉 砖诪讱 讛驻专讟讬, 砖诐 讛诪砖驻讞讛, 诪爪讘讱 讛诪砖驻讞转讬, 讛诪讚讬谞讛 讜讛讙讬诇 讘砖讜专讛 讗讞转 +10. 讛讻专讬讝 注诇 砖谞讬 诪砖转谞讬诐 _myAge_ 讜-_yourAge_ 讜讛拽爪讛 诇讛诐 注专讻讬诐 专讗砖讜谞讬讬诐 讜讬讜诪谉 诇诪住讜祝 讛讚驻讚驻谉. ```sh I am 25 years old. You are 30 years old. ``` -馃帀 CONGRATULATIONS ! 馃帀 +馃帀 诪讝诇 讟讜讘 ! 馃帀 -[Day 2 >>](./02_Day_Data_types/02_day_data_types.md) +[讬讜诐 2 >>](./02_Day_Data_types/02_day_data_types.md)