Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Spring-Framework
- vs code 내 node
- react
- 계산맞추기 게임
- 따라하며 배우는 노드 리액트 기본 강의
- 모던자바스크립트
- node.js 설치
- googleColaboratory
- DB Browser
- 인프런
- 리액트
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- 모두의 파이썬
- node.js로 로그인하기
- Colaboratory 글자 깨짐
- Python
- 자바스크립트
- 거북이 대포 게임
- JS 개념
- Do it 자바스크립트 + 제이쿼리 입문
- intllij 내 Bean을 찾지 못해서 발생하는 오류
- 타자 게임 만들기
- spring-boot
- intellij
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- Concurrently
- props
- react오류
- 노드에 리액트 추가하기
- 웹 게임을 만들며 배우는 리액트
Archives
- Today
- Total
프로그래밍 삽질 중
모던 자바스크립트 핵심 가이드 00 기초 정리 1 본문
* 모던 자바스크립트 핵심 가이드(저자 알베르토 몬탈레시, 옮김 임지순/권영재) 복습
* 핵심 부분과 필요할 경우 문제도 수정해서 기재할 것
* 문제될 경우 삭제할 것
○ 변수
-값을 담기 위한 공간, 자바스크립트는 var, let, const가 존재
○ 자료형
- 자바스크립트 = 동적 언어, 정적언어(C, Java)와 달리 변수를 정의할 때 자료형 정의 필요 없음
-> 문제는 대규모 프로젝트 작업 시 문제 될 수 있음
-> 이를 위한 방법 = 타입스크립트(엄격한 자료형 준수)
- 총 7개의 원시 자료형 존재
string | number | boolean | null | undefined | symbol |
문자열 | 숫자 | 불리언 | 널 | 정의되지 않음 | 심벌(ES6 추가) |
○ 객체
- 원시 자료형은 한 번에 한 가지 값만 담을 수 있으나, 객체는 여러 속성의 모음집 저장 가능
const color = {
main: "red",
number: 7,
detail: function() {
console.log("What’s your color")
}
};
console.log(Object.keys(color)[0]) //main
console.log(typeof Object.keys(color)[0]); //string
color.detail(); //What’s your color
○ 빈 객체 생성하기
- 객체 생성 시 속성 선언할 필요 없음
- 빈 객체 만드는 방법 = 2가지 존재
//방법 1
const water = new Object();
//방법 2 -> 더 자주 쓰이고 객체 리터럴이라고 부름
const water = {};
○ 객체 속성에 접근
- 점 표기법 : color.number로 접근
- 대괄포 표기법 : color['number']로 접근
const color = {
main: "red",
number: 7,
"lemon color is yellow" : true
};
console.log(color.lemon color is yellow) //syntax error - 문법상 오류
console.log(color['lemon color is yellow']) //true
○ 객체 복사
- 객체 복사는 참조 방식으로 이루어짐
- 동일한 객체(아래 예시 같이 color와 secondColor는 ==, ===로 비교 시 true)
- 빈 객체끼리 비교 시 false
const color = {
favoriteColor: "blue"
};
let secondColor = color;
color.number = 7;
console.log(color); // {favoriteColor: "blue", number: 7}
console.log(secondColor); //{favoriteColor: "blue", number: 7}
- 객체 복사본을 만드는 다른 방법 : Object.assign() 이용하기
const color = {
favoriteColor: "blue"
};
let secondColor = Object.assign({}, color);
color.number = 7;
console.log(color); //{favoriteColor: "blue", number: 7}
console.log(secondColor); //{favoriteColor: "blue"}
○ 배열
- 순서대로 값을 저장하는 객체
- 배열의 인덱스는 0부터 시작함
const cafe = ['ediya', 'starbucks', 'twosome place'];
//길이 확인
console.log(cafe.length); //3
//끝에 새 값 추가
cafe.push('gongcha');
console.log(cafe); //["ediya", "starbucks", "twosome place", "gongcha"]
//시작에 새 값 추가
cafe.unshift('hollys');
console.log(cafe); //["hollys", "ediya", "starbucks", "twosome place", "gongcha"]
//끝에서 값 하나 제거
cafe.pop();
console.log(cafe); //["hollys", "ediya", "starbucks", "twosome place"]
//시작에서 값 하나 제거
cafe.shift();
console.log(cafe); //["ediya", "starbucks", "twosome place"]
○ 자료형 확인 = typeof 사용
const str = "good morning";
const num = 10;
const array = [1, 2, 3, 4, 5];
const object = {welcome: "안녕하세요"}
console.log(typeof(str)); //string
console.log(typeof(num)); //number
console.log(typeof(array)); //object
console.log(typeof(object)); //object
console.log(typeof(null)); //object