Javascript

[노마드코더] 바닐라 JS로 크롬 앱 만들기

정호나 2024. 6. 17. 12:40

1. 변수

const :  상수, 변수 선언 후 값이 바뀌지 않음, 기본적으로 사용

값 바꾸면 에러발생 

 

let : 변수 업데이트 해야 할 때, 필요할 때만 사용하기

 

변수타입을 보고 나중에 업데이트 될지 안될지 알 수 있어.

 

var : 어디서든 업데이트 가능. 보호가 안돼. 규칙없음, 오래된 변수법칙, 절대 사용 금지, 변수 어떻게 사용할지 알 수없음

 

+

var : 함수 스코프 , 선언하기 전에 사용할 수 있다

const, let : 블록 스코프(함수, if문, for문, while문, try/catch문) , 할당하기 전에 사용할 수 없음

let : 일반적인 방법

 

호이스팅 : 스코프 내부 어디서든 변수 선언은 최상위에 선언된 것 처럼 행동

 

변수 생성과정

1) 선언단계

2) 초기화 단계

3) 할당 단계

 

 

2. boolean

null: 변수안에 아무것도 없음

undefined : 변수는 주고 값을 할당하지 않았을 때. 변수 정의 되지 않았을 때

 

3. array **설명이 필요하지 않은 데이터 리스트들

const toBuy = ["potato", "tomato","pizza"];

toBuy.push("kimbab"); 	//["potato", "tomato","pizza","kimbab"];
console.log(toBuy[1]) //tomato

 

4. object **설명이 필요한 정보를 담긴 데이터 리스트들

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

console.log(player.name);	//nico
console.log(player["name"]);	//nico
player.points = player.points + 12 //object 업데이트
console.log (player.points); //22
player.lastName = "potato"; //속성 추가 {name: "nico", points: 10, fat: true, lastName: "potato"}

const 타입이지만 object 업데이트는 가능

 

 

생성자 함수(붕어빵 틀)

new 함수명();

function User(name, age){
	//this = {}
	this.name = name;
    this.age = age;
    
    return this;
}
new 함수명();

 

 

 

 

 

5. function

function sayHello(){
	console.log("Hello my name is C");
   }
   
   
   console,log("hello");
   sayHello("nico");
   sayHello("dal");
   
   
   //정보 입력 받을 때
   const player = {
   name : "nico",
   sayHello: function(otherPersonName) {
   console.log("hello" + otherPersonName + " nice to meet you");
   }
   };
   
   player.sayHello("lynn");
   player.sayHello("nico");
   
   //정보 입력 받을 때_계산기
   function plus(a,b){
   	console.log(a + b);
    }
    plus(5,5);

 

6.Recap

return을 쓸 때 주의사항

한번 return하면 해당 함수는 끝남. return 뒤에 작업을 하면 출력되지 않는다.

return앞에 작업을 하면 출력됨.  

 

 

7. Condition

prompt: 오래된 방식

typeof : 변수 형식 반환

parseInt() : 숫자형으로 변환 

NaN: Not a Number