1. 상수와 변수
let b = 3;
b = 4;
console.log("a", a); // 1
console.log("b", b); // 4
var를 쓰지 않아야 하는 이유는 block lefel scope을 가지고 있지 않기 때문이다.
if ( 1 === 1 ) {
// 항상 여기로 들어옴
var a = 3;
console.log(a);
}
console.log(a);
//밖에서도 a가 3이 나옴
//왜 이런일이? const&let은 block level scope를 가진다. var은 아님.
2. 얕은 복사
얕은 복사를 조심해야 한다.
3. template literal
- `백틱` 안에는 자바스크립트 변수를 넣을 수 있다.
- 백틱안에서는 multiple line을 쓸 수 있다.
// `백틱` 안에는 자바스크립트 변수를 넣을 수 있다.
const number = 3;
console.log(`문자열 ${number}입니다.`);
//문자열 3입니다.
4. 구조분해할당 Destructuring
- 객체 비구조화
const person = {
name: '르탄',
age: '21'
}
//name과 age로 분해하기
const {name, age, notFound} = person;
console.log(name); //르탄
console.log(age); //21
console.log(notFound);//undefined
- 배열 비구조화
// 배열 비구조화 (Array Destructuring)
const testArr = [1, 2, 3, 4, 5];
const [one, two, three, four, five, six] = testArr;
console.log(one); //1
console.log(two); //2
console.log(three); //3
console.log(four); //4
console.log(five); //5
console.log(six); // undefined
5. 전개연산자 (Spread Operator)
- 일반 배열에서 요소값 하나씩 빼오기, rest는 나머지 요소들의 묶음인 배열로 반환
let [name, ...rest] = ["Tom", 10, "Seoul"];
console.log(name); //Tom
console.log(rest); //[ 10, 'Seoul' ]
- 배열 a 와 배열 b를 합치기 => 배열 반환
let names = ["Steve", "John"];
let students = ["Tom", ...names, ...names ];
console.log(students); //[ 'Tom', 'Steve', 'John', 'Steve', 'John' ]
- 객체 a의 key-value 값을 객체 b 안에 넣기
let tom = {
name: "Tom",
age: 10,
region: "Seoul",
};
let steve = {
...tom,
name: "Steve",
};
console.log(steve);
// { name: 'Steve', age: 10, region: 'Seoul' }
6. 화살표함수
일반 함수에서 화살표 함수로 3단 변화
function mysum1 (x, y) {
return x+y;
}
const mysum2 = (x, y) => {
return x + y;
}
const mysum3 = (x, y) => x + y; //function, return, {} 빼기
console.log(mysum1(1,2)); //3
console.log(mysum2(1,2)); //3
console.log(mysum3(1,2)); //3
**마지막 한줄 함수는 return문이 1줄일때만 가능
728x90
반응형
'부트캠프 개발일지 2023-2024 > React 리액트' 카테고리의 다른 글
[5주차] 리액트입문: JSX 문법 (1) | 2023.10.31 |
---|---|
[5주차] 리액트입문: 컴포넌트 만들기, JXS, 부모/자식 컴포넌트 (1) | 2023.10.31 |
[5주차] 리액트입문: React 프로젝트 처음 생성하기 (1) | 2023.10.31 |
[5주차] 리액트입문: 개발환경세팅(node, npm, yarn) (0) | 2023.10.31 |
[5주차] 리액트입문 : React.js 란? (0) | 2023.10.31 |