코딩하는 김딸기
자바스크립트 데이터타입/ array와 object/ 함수 본문
변수만들때 let, const, var차이
let 재선언 금지, 재할당 가능
const 재선언 금지, 재할당 금지
var 재선언 가능, 재할당 가능
let a = b;
let a = c;
//재선언 금지
let a = b;
a = c;
//재할당은 가능
const a = b;
const a = c;
//재선언 금지
const a = b;
a = c;
//재할당 금지
var a = b;
var a = c;
a = d;
//재선언, 재할당 가능
Booleans/ null과 undefined의 차이
data type 에는 숫자 , 문자 말고도
boolean 값으로 true,false가 있다.
또 다른 값으로는 null, undefined가 있다.
1. null: 컴퓨터에 값이 없음을 의도적으로 알리기 위해 채워진 값이다
2. undefined: let something; 처럼 변수에 값을 지정하지 않으면 메모리 상에 자리는 존재하지만 값이 채워지지 않은 채로 있다.
undefined = 박스만 만들어 놓은 상태=>(정의되지 않은)
null = 박스만들고 아무것도 안넣고 포장함
array
데이터를 나열하기 위한 방법 중 하나.
항상 [ ] 안에 콤마(,)로 데이터들을 나열한다. 변수도 쓰일 수 있고, boolean, text, 숫자 등 데이터 정렬이 가능하다.
ex) const daysOfWeek = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
만약, 위의 변수에서 5번째 element 값을 알려주세요. 라고 한다면 어떻게 출력해야 할까?
ex) console.log(daysOfWeek[4]) 라고 해야 5번째 값을 출력할 수 있다.
->컴퓨터는 숫자를 0부터 세기 때문에, “mon”은 0번째라고 생각하면 된다.
JS의 주석처리는 //
위의 상태에서 daysOfWeek이란 변수에 하나의 값을 더 넣고 싶다면 다음과 같이한다.
ex) daysOfWeek.push(“holiday”) .push는 추가하는 기능.
object
object는 property를 가진 데이터를 저장해주며, { } 를 사용한다.
const player = {
name : tomato,
color : red,
food : true,
};
console.log(player);
property를 불러오는 방법은 2가지가 있다.
1. console.log(player.name); => tomato
2. console.log(player["name"]); => tomato
또한 property를 바꾸는 것은 가능하지만 선언된 object를 바꾸는 것은 불가능하다.
ex)
const player = {
name : tomato,
color : red,
food : true,
};
console.log(player);
player.color = "blue";
console.log(player.color);
--> blue
그리고 property를 추가 할 수도 있다.
player.koreanName = "토마토";
--> {name: "tomato", color: "blue", food: true, koreaName: "토마토"}
설명이 필요하지 않은 데이터 리스트들은 array로,
설명이 필요한 정보가 담긴 데이터 리스트들은 object로!
function(함수)
function은 계속 반복해서 사용할 수 있는 코드 조각이다.
function sayHello( ){
console.log("Hello!");
};
소괄호 안에 작성하는 것은 실행버튼을 누를 때마다 발생한다.
sayHello( ); 이렇게 쳐서 실행할 수 있다.
argument(인수)는 function을 실행하는 도안 정보를 function에게 보낼 수 있는 방법으로, 소괄호 안에 위치한다.
function title(){
실행코드
}
title();
펑션의 괄호 안의 매개변수에서 아규먼트를 받아들일 수 있다.
ex)
function sayHello(nameOfPerson) {
console.log(nameOfPerson);
}
sayHello("nico")
sayHello("dal")
sayHello("lynn") // nameOfPerson은 "nico" "dal" "lynn" 을 받았다고 생각하면 됨.
아규먼트는 하나만 받을 수 있는게 아니라 여러개를 받을 수 있음.
ex)
function sayHello(nameOfPerson , age) {
console.log(nameOfPerson);
}
sayHello("nico" , 12);
sayHello("dal" , 20);
sayHello("lynn" , 23); // sayHello function의 매개변수 2개는 아래 2개의 argument를 받는 중임.
function의 값은 function 안에서만 존재한다.
오브젝트 안에서 매개변수가 아규먼트를 받는 방식
ex)
const player = {
name : function(Name) {
console.log("Your Name is " + Name + " 입니다.")
} ,
sayHello : function(Age) {
console.log("Your age is " + Age + " 입니다." )
}
}
player.sayHello(14)
player.name("james")
let과 const의 차이
let은 업데이트를 할 수 있다는 것이다.( let을 업데이트 할 땐 다시 let을 붙이지 않아도 됨.)
항상 const, 가끔 let ,사용하지 말아야할 var.
boolean은 딱 두 가지 옵션만 있다. ture, false.
null은 아예 '비어있음을 정의'해버리는것, undefinde는 변수에 값을 부여하지 않은 상태.
array 만들기
ex)
const days = [1, 2, "안녕하세요" , 'abc' , false , null]
호출시에는 ? console.log(days[2]) // 인덱스 2번인 "안녕하세요"가 로그에 출력될 예정
array 업데이트
ex)
days[2] = "water" // 데이라는 변수의 오브젝트 인덱스 2번인 "안녕하세요"를 "water"로 교체한다는 뜻.
array 추가-push
ex)
days.push('생선') // days라는 변수에 '생선'이라는 string 값을 추가해준것.
const의 object 값을 변경하는 행위는 const 자체를 변경하는 것이 아니고 objects값을 변경하는 것이기 때문에 재할당 오류와 관계없다.