Javascript beginning

source: https://www.youtube.com/watch?v=hdI2bqOjy3c

Node.js를 사용하기 전 JS 에 대해 알아야하기 때문에
JS 기본 문법 공부 !

let const

const age;
age = 12;
age = 11
console.log(age);

String, Numbers, Boolean, null, undefined, Symbol

const name   = 'John';
const age    = 30;
const rating  = 4.5;
const isCool = true;
const x      = null;
const y      = undefined;
let z;

console.log(typeof z);

Concatenation

const name = 'noah';
const age = 30;
console.log('my name' + name + 'and i am' +  age);

Template String
const hello = (`My name is ${name} and I am ${age}`);
console.log(hello);

console.log(`My name is ${name} and I am ${age}`);

const s = 'technology, computers, it, code';

console.log(s.split('t'))

Arrays - variables that hold multiple values

const numbers = new Array(1,2,3,4,5,6);
const fruits = ['apples', 'oranges','pears', 10 , true];

fruits[3] = 'grapes'

fruits.push('mangos')

fruits.unshift('straw')

fruits.pop();
console.log(fruits);
console.log(Array.isArray('hello'));

console.log(fruits.indexOf('oranges'));

const person = {
    firstName: 'noah',
    lastName : 'Shin',
    age : 29,
    hobbies : ['music','movies','sports'],
    address: {
        street: '50 main st',
        city : 'Boston',
        state : 'CA'
    }
}
console.log(person.firstName,person.hobbies[1], person.address.state);

const {firstName, lastName, address: {city}} = person;

console.log(firstName);
console.log(lastName);
console.log(city);

person.email = '[email protected]'

console.log(person.email)

const todos = [
    {
        id: 1,
        text : 'Take out trash',
        isCompleted : true
    },
    {
        id: 2,
        text : 'Metting',
        isCompleted : true
    },
    {
        id: 3,
        text : 'Dentist appt',
        isCompleted : false
    },
];
json converter
console.log(todos[1].text);

const todoJson = JSON.stringify(todos);
console.log(todoJson);

For
for(let i = 0; i < todos.length; i++) {
    console.log(`For Loop number : ${i}`);
}
for(let i = 0; i < todos.length; i++) {
    console.log(todos[i].text);
}

for (let todo of todos){
    console.log(todo.id);
}

forEach, map, filter

todos.forEach(function(todo){
    console.log(todo.text);
});

const todoText = todos.map(function(todo){
    return todo.text;
});

console.log(todoText);

const todoCompleted = todos.filter(function(todo)
{
    return todo.isCompleted === true;
}).map(function(toda)
{
    return toda.text;
})
console.log(todoCompleted);

While
let i = 0;
while(i<10){
    console.log(`While Loop number : ${i}`);
    i++;
}

const x = 7;
const y = 11;

if(x===10){
    console.log('x is 10'); 
} else if (x > 10){
    console.log('x is greater 10'); 
} 
else {
    console.log('x is less than 10');
}

if (x > 5 && y > 10 ){
    console.log('x is more than 5 and y is more than 10');
}
if (x > 5 || y > 10 ){
    console.log('x is more than 5 or y is more than 10');
}

const x = 1;
const color = x > 10 ? 'red' : 'blue';

// console.log(color);

switch(color) {
    case 'red':
        console.log('color is red');
        break;
    case 'blue':
        console.log('color is blue');
        break;
    default:
        console.log('color is NOT red or blue');
        break;
}

function addNums(num1 =1 , num2 = 1){
    console.log(num1 + num2);
}
addNums(5, 5);

function addNums(num1 =1 , num2 = 1){
    return num1 + num2;
}
console.log(addNums(5, 5));

const addNums = (num1 = 1, num2 = 1 ) => num1 + num2;
console.log(addNums(5,5));

const addNums = num1 => num1 + 7;
console.log(addNums(5));

object oriented programming

Constructor function
function Person(firstName, lastName, dob) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.dob = new Date(dob);
    // this.getFullName = function() {
    //     return `${this.firstName} ${this.lastName}`;
    // }
}

Person.prototype.getBirthYear = function(){
    return this.dob.getFullYear();
}

Person.prototype.getFullName = function(){
    return `${this.firstName} ${this.lastName}`;
}
클래스 class

class Person{
    constructor(firstName, lastName, dob){
        this.firstName = firstName;
        this.lastName = lastName;
        this.dob = new Date(dob);
    }
    getBirthYear() {
        return this.dob.getFullYear();
    }
    getFullName() {
        return `${this.firstName} ${this.lastName}`
    }
}

Instantiate object
const person1 = new Person('Noah','Shin', '12-09-1993');
const person2 = new Person('Kinm','asds', '12-09-1923');

console.log(person1);
console.log(person2.dob.getFullYear());

console.log(person1.getBirthYear());
console.log(person1.getFullName());

=======================================================
=======================================================
=======================================================
=======================================================
=======================================================
=======================================================
================여기서부터는 이해를 위한 실습============================

  
  
Single element
console.log(document.getElementById('my-form'));
console.log(document.querySelector('h1'));

Multiple element
console.log(document.querySelectorAll('.item'));
console.log(document.getElementsByClassName('item'));
console.log(document.getElementsByTagName('li'));

const items =document.querySelectorAll('.item');
items.forEach((item) => console.log(item));

const ul = document.querySelector('.items');

// ul.remove();
// ul.lastElementChild.remove();
ul.firstElementChild.textContent = 'hello';
ul.children[1].innerText = 'Brad';
ul.lastElementChild.innerHTML = '<h1>HELLO</h1>';

const btn = document.querySelector('.btn');
btn.style.background = 'red';

btn.addEventListener('click', (e) => {
    e.preventDefault();
    console.log(e.target.className);
});

btn.addEventListener('mouseout', (e) => {
    e.preventDefault();
    document.querySelector('#my-form')
    .style.background = '#ccc';
    document.querySelector('body').classList.add('bg-dark');
    document.querySelector('.items').lastElementChild.innerHTML = '<h1>Hello</h1>'
});

좋은 웹페이지 즐겨찾기