You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

359 lines
9.5 KiB

5 years ago
<div align="center">
<h1> 30 Days Of JavaScript</h1>
<a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/">
<img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social">
</a>
<a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh">
<img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/asabeneh?style=social">
</a>
5 years ago
<sub>Author:
<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br>
<small> January, 2020</small>
</sub>
5 years ago
</div>
5 years ago
[<< Day 12](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/12_Day/12_day_regular_expressions.md) | [Day 14>>](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/14_Day/14_day_error_handling.md)
5 years ago
![Thirty Days Of JavaScript](../images/banners/day_1_13.png)
5 years ago
5 years ago
- [Day 13](#day-13)
- [Console Object Methods](#console-object-methods)
- [console.log()](#consolelog)
- [console.warn()](#consolewarn)
- [console.error()](#consoleerror)
- [console.table()](#consoletable)
- [console.time()](#consoletime)
- [console.info()](#consoleinfo)
- [console.assert()](#consoleassert)
- [console.group()](#consolegroup)
- [console.count()](#consolecount)
- [console.clear()](#consoleclear)
- [Exercises](#exercises)
- [Exercises:Level 1](#exerciseslevel-1)
- [Exercises:Level 2](#exerciseslevel-2)
- [Exercises:Level 3](#exerciseslevel-3)
# Day 13
## Console Object Methods
In this section, we will cover about console and console object methods. Absolute beginners usually do not know which to use: console.log(), document.write() or document.getElementById.
5 years ago
We use console object methods to show output on the browser console and we use document.write to show output on the browser document(view port). Both methods used only for testing and debugging purposes. The console method is the most popular testing and debugging tool on the browser. We use document.getElementById() when we like to interact with DOM try using JavaScript. We will cover DOM in another section.
5 years ago
5 years ago
In addition to the famous, console.log() method, the console provides other more methods methods.
5 years ago
### console.log()
We use console.log() to show output on the browser console. We can substitute values and also we can style the logging out put using %c.
- Showing output on browser console
5 years ago
5 years ago
```js
console.log('30 Days of JavaScript')
```
```sh
30 Days of JavaScript
```
- Substitution
```js
console.log('%d %s of JavaScript', 30, 'Days')
```
```sh
30 Days of JavaScript
```
- CSS
We can style logging message using css. Copy the following code and paste it on browser console to see the result.
```js
5 years ago
console.log('%c30 Days Of JavaScript', 'color:green') // log output is green
console.log(
'%c30 Days%c %cOf%c %cJavaScript%c',
'color:green',
'',
'color:red',
'',
'color:yellow'
) // log output green red and yellow text
5 years ago
```
### console.warn()
5 years ago
We use console.warn() to give warning on browser. For instance to inform or warn deprecation of version of a package or bad practices. Copy the following code and paste it on browser console to see warning messages.
5 years ago
```js
console.warn('This is a warning')
5 years ago
console.warn(
'You are using React. Do not touch the DOM. Virtual DOM will take care of handling the DOM!'
)
5 years ago
console.warn('Warning is different from error')
```
### console.error()
The console.error() methods shows an error messages.
```js
console.error('This is an error message')
console.error('We all make mistakes')
```
### console.table()
The console.table() method display data as a table on the console. Displays tabular data as a table. The console.table() takes one required argument data, which must be an array or an object, and one additional optional parameter columns.
Let us first start with a simple array. The code below displays a table with two columns. An index column to display the index and value column to display the names
```js
const names = ['Asabeneh', 'Brook', 'David', 'John']
console.table(names)
```
Let us also check the result of an object. This creates table with two columns:an index column containing the keys and a value column contain the values of the object.
```js
const user = {
5 years ago
name: 'Asabeneh',
title: 'Programmer',
country: 'Finland',
city: 'Helsinki',
age: 250
5 years ago
}
console.table(user)
```
Check the rest of the examples by copying and paste on the browser console.
```js
5 years ago
const countries = [
['Finland', 'Helsinki'],
['Sweden', 'Stockholm'],
['Norway', 'Oslo']
]
5 years ago
console.table(countries)
```
```js
const users = [
5 years ago
{
name: 'Asabeneh',
title: 'Programmer',
country: 'Finland',
city: 'Helsinki',
age: 250
},
{
name: 'Eyob',
title: 'Teacher',
country: 'Sweden',
city: 'London',
age: 25
},
{
name: 'Asab',
title: 'Instructor',
country: 'Norway',
city: 'Oslo',
age: 22
},
{
name: 'Matias',
title: 'Developer',
country: 'Denmark',
city: 'Copenhagen',
age: 28
}
5 years ago
]
console.table(users)
```
### console.time()
5 years ago
5 years ago
Starts a timer you can use to track how long an operation takes. You give each timer a unique name, and may have up to 10,000 timers running on a given page. When you call console.timeEnd() with the same name, the browser will output the time, in milliseconds, that elapsed since the timer was started.
```js
5 years ago
const countries = [
['Finland', 'Helsinki'],
['Sweden', 'Stockholm'],
['Norway', 'Oslo']
]
5 years ago
console.time('Regular for loop')
5 years ago
for (let i = 0; i < countries.length; i++) {
console.log(countries[i][0], countries[i][1])
5 years ago
}
console.timeEnd('Regular for loop')
console.time('for of loop')
5 years ago
for (const [name, city] of countries) {
5 years ago
console.log(name, city)
}
console.timeEnd('for of loop')
console.time('forEach loop')
5 years ago
countries.forEach(([name, city]) => {
5 years ago
console.log(name, city)
})
console.timeEnd('forEach loop')
```
```sh
Finland Helsinki
Sweden Stockholm
Norway Oslo
Regular for loop: 0.34716796875ms
Finland Helsinki
Sweden Stockholm
Norway Oslo
for of loop: 0.26806640625ms
Finland Helsinki
Sweden Stockholm
Norway Oslo
forEach loop: 0.358154296875ms
```
According the above output the regular for loop is slower than for of or forEach loop.
### console.info()
It display information message on browser console.
```js
console.info('30 Days Of JavaScript challenge is trending on Github')
console.info('30 Days Of fullStack challenge might be released')
console.info('30 Days Of HTML and CSS challenge might be released')
```
### console.assert()
The console.assert() methods writes an error message to the console if the assertion is false. If the assertion is true, nothing happens. The first parameter is an assertion expression. If this expression is false, an Assertion failed error message will be displayed.
```js
console.assert(4 > 3, '4 is greater than 3') // no result
console.assert(3 > 4, '3 is not greater than 4') // Assertion failed: 3 is not greater than 4
for (let i = 0; i <= 10; i += 1) {
5 years ago
let errorMessage = `${i} is not even`
console.log('the # is ' + i)
console.assert(i % 2 === 0, { number: i, errorMessage: errorMessage })
5 years ago
}
```
### console.group()
The console.group() can help to group different log groups. Copy the following code and paste it on browser console to the groups.
```js
const names = ['Asabeneh', 'Brook', 'David', 'John']
5 years ago
const countries = [
['Finland', 'Helsinki'],
['Sweden', 'Stockholm'],
['Norway', 'Oslo']
]
5 years ago
const user = {
5 years ago
name: 'Asabeneh',
title: 'Programmer',
country: 'Finland',
city: 'Helsinki',
age: 250
5 years ago
}
const users = [
5 years ago
{
name: 'Asabeneh',
title: 'Programmer',
country: 'Finland',
city: 'Helsinki',
age: 250
},
{
name: 'Eyob',
title: 'Teacher',
country: 'Sweden',
city: 'London',
age: 25
},
{
name: 'Asab',
title: 'Instructor',
country: 'Norway',
city: 'Oslo',
age: 22
},
{
name: 'Matias',
title: 'Developer',
country: 'Denmark',
city: 'Copenhagen',
age: 28
}
5 years ago
]
console.group('Names')
console.log(names)
console.groupEnd()
console.group('Countries')
console.log(countries)
console.groupEnd()
console.group('Users')
console.log(user)
console.log(users)
console.groupEnd()
```
### console.count()
It prints the number of time this console.count() is called. It takes a string label parameter. It is very helpful to count the number of times a function is called. In the following example, the console.count() method will run three times
```js
const func = () => {
5 years ago
console.count('Function has been called')
5 years ago
}
func()
func()
func()
```
```sh
Function has been called: 1
Function has been called: 2
Function has been called: 3
```
### console.clear()
The console.clear() cleans the browser console.
5 years ago
🌕 Keep up the good work. Keep pushing, the sky is the limit! You have just completed day 13 challenges and you are 13 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle.
5 years ago
## Exercises
### Exercises:Level 1
5 years ago
1. Display the countries array as a table
2. Display the countries object as a table
3. Use console.group() to group logs
5 years ago
### Exercises:Level 2
5 years ago
1. 10 > 2 \* 10 use console.assert()
5 years ago
2. Write a warning message using console.warn()
3. Write an error message using console.error()
### Exercises:Level 3
1. Check the speed difference among the following loops: while, for, for of, forEach
🎉 CONGRATULATIONS ! 🎉
5 years ago
[<< Day 12](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/12_Day/12_day_regular_expressions.md) | [Day 14>>](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/14_Day/14_day_error_handling.md)