let myname = "CHO IK JUNE"; // 자바와 같음 let yourname = '조익준'; // ''은 원래 문자용인데 js에선 가능함 let ourname = `해골`;
``은 보통 문자열을 /n을 이용해 다음 라인에 입력할 때 사용한다.
ex)
let str1 = `하나 두울 세엣`;
번호는 1이고, 이름은 홍길동이고, 성별은 남자인 회원의 정보를 변수 3개에 각각 담아 보자.
let pnum = 1; let name = "홍길동"; let isMan = true;
좀 더 직관적이게 하나의 변수명에 여러개의 데이터를 담을 수 있다.
let member = { Pnum: 1, name: "홍길동", isMan: true };
변수 member는 object타입이 되기 때문에, 호출할 때 member.Pnum; , member.name;, member.isMan; 으로 호출하면 된다.
한편 빈 object를 만들고 나중에 필요에 따라서 데이터를 추가 할 수 있다.
let member2 = {}; member2.num = 2; member2.name = "김철수"; member2.isWoman = false;
마찬가지로 member2.num, member2.name, member2,isWoman으로 호출하면 각각 2, "김철수",false가 호출된다.
이미 만들어져 있는 object에 저장된 값을 수정할 수도 있다.
member2.num = 1; member2.name = "박영희"; member2.isWoman = true;
위와 같은 방식으로 호출하면 각각 1, "박영희", true가 호출된다.
이번엔 (배열)Array type에 대해 알아보자.
내가 좋아하는 음식이 순서대로 라면,치킨,피자라면 아래와 같이 표현할 수 있다.
let foods = ["라면", "치킨", "피자"];
배열의 특정 인덱스에 저장된 item을 변수에 담을 수도 있다.
let a = foods[0]; // a = "라면"
또한 배열의 특정 인덱스에 저장된 value값을 바꿀 수도 있다.
foods[0] = "짜장면"; foods[1] = "짬뽕";
배열에는 주로 한가지 type의 데이터만 담는게 일반적이다.
let num = [10, 20 , 30, 40, 50]; let name = ["김구라", "해골", "원숭이", "주뎅이", "덩어리"]; let data = [true, true, false, false, true];
만약 여러회원의 정보를 member라는 통일된 변수안에 넣고자 한다면 어떻게 할까?
let members = [ {num: 1, name: "김구라", addr: "노량진"}, {num: 2, name: "해골", addr: "행신동"}, {num: 3, name: "원숭이", addr: "역삼동"} ];
자세히 보면 [ ]안에 { }가 들어가있음을 알 수 있다.
즉 object타입이 Array타입안에 포함되어 있다.
그렇다면 호출은 어떻게 할까?
내부로 접근하려면 외부의 벽부터 뚫어야한다. 여기서 외부는 [ ]Array타입이니
members[ ]으로 먼저 접근해야한다.
members[0] = {num: 1, name: "김구라", addr: "노량진"} members[1] = {num: 2, name: "해골", addr: "행신동"} members[2] = {num: 3, name: "원숭이", addr: "역삼동"}
만약 특정 이름 또는 주소를 출력하고 싶다면?
이제 내부의 벽(object type)만 남았기에 '.'을 붙이면 된다.
김구라와 역삼동을 각각 출력해보면
let a = members[0].name; // a = "김구라" let b = members[2].addr; // b = "역삼동"
자바스크립트에선 변수가 function type이 될 수 있다.
함수를 선언하는 방법에는 여러가지가 있지만 그 중 대표적인 3가지를 알아보자.
1. named function declaration(명명 함수 선언)
function hello() { // ... }
가장 대중적인 방법으로 함수의 이름은 "hello"이다.
2. anonymous function expression (익명 함수 표현)
let hello = function () { //... }
함수에 이름이 없지만 변수에 담은 방식으로 자바스크립트 엔진이 이름을 변수명으로 추정해 넣는다.
3. arrow function (화살표 함수)
let hello = () => { //... }
최근에 많이 쓰이고 있는 화살표 함수이다. 방식은 2번이 편한것 같다.