1/21 실강
- var, let, const
var a = 10; { var b = 20; let c = 30; } console.log(a); // 10 console.log(b); // 20 console.log(c); // 에러(c is not defined)
let은 스코프({})안에서만 사용할 수 있음(const도)
- 객체타입
let student = { name:"홍길동", age:20, skills:["Java", "Python", "Javascript"], obj: { num:20 } }
student.name, student['name'] 이런 식으로 접근 가능
student.obj.num 으로 접근 가능
- typeof: 타입 확인 가능
- 스프레드 연산자
A = [1,2,3,4,5]; A=[...A, 6] // A=[1,2,3,4,5,6] B = [2,3,4,5,6]; C = [...A, ...B]; // C=1,2,3,4,5,2,3,4,5,6]
...은 데이터를 펼쳐주는 거
...을 통해 인자를 추가하거나 배열을 합치는 것도 가능
let stduent = { name:'홍길동', age:'20' } let company = { company:'samsung' let newObj = { ...stduent, ...company }
이런식으로 객체타입도 합치는 것이 가능
- 깊은 복사, 얕은 복사
let A = [1,2,3,4,5]; let B = A; // 얕은 복사 B[0] = 10; console.log(B); // [10,2,3,4,5] console.log(A); // [10,2,3,4,5] let C =[...A]; //깊은 복사 또는 let C = A.slice(); // 깊은 복사
-B가 A 주소값을 복사해서 B를 변경하면 A도 변경됨(얕은 복사)
-C가 A와 값은 똑같지만 새로운 메모리 주소가 생기므로 C의 값을 변경해도 A의 값은 변경되지 않음(깊은 복사)
- =>함수
const func = (a,b) => a-b; // a-b를 리턴 const func2 = (a,b) => { console.log(a,b) a-b } // 이렇게도 가능
- ddd
let num = [1,2,3,4,5]; let sum = 0; for(const n of num){ // 파이썬의 for n in num과 같은 의미 sum += n }
- ``(백틱)
let a =`1.일 2.이 3.삼 `; // 이런 식으로 줄바꿈 할 때 ` 사용 가능
- map
let a = [1,2,3,4,5]; a.map((v) => v*2); // [2,4,6,8,10] // * a.map((v) => { return v*2 }); // {}를 사용하면 return을 해줘야함 // * a.map((v,i) => v*2); // i는 인덱스
map은 새로운 값을 return 하지만 forEach는 반복만 함
- filter
let A = [1,2,3,4,5]; A.filter(v => v%2 == 0) // [2,4]
- reduce
let A = [1,2,3,4,5]; A.reduce((a,b) => a+b); // 15 // 뒤의 결과가 a로 들어감(1+2, (1+2)+3,(1+2+3)+4 ...)
- 문자열
- **dd**
var scores = { kor= 55, eng=45, mat = 50} Object.entries(scores) // [['kor', 55],['eng,45],['mat',50]] //Object.entries(scores).filter(v => v[1]<40).length===0) // 위의 결과에서 1번 인덱스 애들 중 40점 보다 적은 애들의 수가 0이라면 // Object.values(scores).reduce((a,b) => a+b) // [55,45,50]을 뽑고 reduce로 더함
- toString
let A = 100; A.toString(2) // 2진법으로 변환 A.toString(16) // 16진법으로 변환
Author And Source
이 문제에 관하여(1/21 실강), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@js2_11/121-실강저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)