10
31

const

constant, 상수 값으로 변하지 않는 값을 저장하고 지정할 떄 사용한다

 

let

변할 수 있는 값을 저장하고 지정할 떄 사용한다.

 

기본적으로는 const를 사용하고, 값을 변경해야하는 변수일 떄는 let을 사용한다.

const a = 10;
const b = 2;//변하지 않음
let myName = "sharon";


console.log(a+b);
console.log(a*b);
console.log(a/b);
console.log("hello "+ myName);

myName = "sharl";

console.log("wow"+ myName);

//const에 값을 재설정할 수 없는 에러
a=20;
console.log(a/b);

 

undefined

정의되지 않음. 변수를 만들고 값을 할당하지 않았을 때 나타남.

 

array

배열. 자바스크립트에서는 같은 타입이 아니어도 배열 하나에 저장 가능

 

const daysOfWeek = ["mon" , "tue" , "wed" , "thu" , "fri" , "sat" , "sun"];

//Get Item from Array
console.log(daysOfWeek);

//Add one more day to the array
daysOfWeek.push("sund");

console.log(daysOfWeek);

const nonsense = [1, 2, "hello", false, null, true, undefined, "sharon"];
console.log(nonsense);

 

object

console.log처럼 xx.xx로 활용할 수 있게 데이터를 정리하는 형식

 

const player =  {
    name:"sharon",
    points: 10,
    fat: true,
    
};

console.log(player);
console.log(player.name);

 

* 리스트와 다른 점 : 리스트는 모든 값이 같은 의미를 가진다. 만약 한 주의 요일 리스트가 있다면 그 리스트 각각의 요소는 한 주의 요일이 된다. 그러나 object는 어떤 값인지 모르겠는 property가 있기 떄문에 xx.xx와 같은 형식으로 사용한다. 

 

 

object의 수정과 추가

const player =  {
    name:"nico",
    points: 10,
    fat: true,
    
};

console.log(player);
console.log(player.name);
console.log(player["name"]);

//값 변경 가능. const자체는 변경할 수 없지만 const안의 object 안의 값은 변경할 수 있다.
player.fat = false;
console.log(player);

/*player = false; 이런 식의 변경은 불가능함. 위쪽의 player는 object고 변경하려는 player는 boolean임*/

//object에 무언가를 추가하기
player.lastName = "potato";
player.points = player.points+15;
console.log(player);

 

function

함수

function sayHello(nameOfPerson, age){
     console.log("Hello my name is " + nameOfPerson + " and I am " + age);
}

sayHello("nico" , 10);
sayHello("Dal", 23);
sayHello("Lynn", 21);

object 안에서 function지정해서 console.log()와 비슷하게 동작하도록 만들기

 

function plus(a, b){ //a, b같은 매개변수는 {}블록 안에서만 존재
    console.log(a + b);
}

function divide(a, b){
    console.log(a / b);
}
plus(88, 60);
divide(88 , 60);

const player = {
    name:"nico",
    sayHallo : function(otherPersonsName){
        console.log("hello " + otherPersonsName);
    },
    age : 20,

};

console.log(player.name);
player.sayHallo("lynn");

 

object로 미니 계산기

const calculator = {
    add : function(a, b){
        console.log(a + b);
    },
    minus : function(a, b){
        console.log(a - b);
    },
    divid : function(a, b){
        console.log(a / b);
    },
    multi : function(a, b){
        console.log(a * b);
    },
    power : function(a, b){
    	console.log(a ** b);
    },
};

calculator.add(5, 1);
calculator.divid(8, 4);
calculator.minus(9, 5);
calculator.multi(5, 8);
calculator.power(5, 8);

거듭제곱 연산자 (exponentiation operator) **: a ** b는 a를 b번 곱한 값을 반환, 1/2 등 분수를 사용하면 제곱근 도출 가능

 

const calculator = {
    add : function(a, b){
        return a + b;
    },
    minus : function(a, b){
        return a - b;
    },
    divid : function(a, b){
        return a / b;
    },
    multi : function(a, b){
        return a * b;
    },
    power : function(a, b){
    	return a ** b;
    },
};

const plusResult = calculator.add(2, 3);
const minusResult = calculator.minus(plusResult, 10);
const divideResult = calculator.divid(minusResult, 10);
const multiResult = calculator.multi(divideResult, plusResult);
const powerResult = calculator.power(multiResult, divideResult);

 

 

*prompt 함수 :  유저에게 창을 띄워서 값을 넣을 수 있게 하는 함수

 

typeof: 해당 값의 타입을 알 수 있는 함수 

 

함수는 내부에서 외부로 실행됨

 

 

조건문

 

const age = parseInt(prompt("how old are you"));


if(isNaN(age)){
    ///condition  === true
    console.log("Please write a number");
} else {
    console.log("Thank you for writing your age.");
}

 

COMMENT