[노마드코더] 바닐라 JS로 크롬 앱 만들기
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