JavaScript 33

가져오기 내보내기

export default로 기본통로로 빠져나가면 이름이 없어도 상관이 없습니다. 이런식으로 import하여 불러와서 사용할 수 있습니다. 이름이 필요한 함수로 보내기 이름 통로는 {}가 필요하다. 이름이 지정된 파일은 여러가지를 참조할 수 있습니다. 이런식으로 두개를 불러올 수 있습니다. export default는 딱 한번만 사용이 가능합니다. 오류가 발생합니다. import * as R from './getRandom' //파일의 모든걸 가져와서 R로 사용 console.log(R) 이런식으로 사용할 수도 있다. 이름지정 내보내기와 export default를 두개다 한번에 사용도 가능하다.

JavaScript 2021.10.25

얕은 복사와 깊은 복사

import _ from 'lodash' const user = { name:'Heropy', age:85, emails:['thesecon@gmail.com'] } //const copyUser = user 이렇게 하면 log 값이 둘다 22로 바뀜 //const copyUser = Object.assign({}, user) //복사 const copyUser={...user}//전개해서 집어넣는다 [얕은 복사] //const copyUser=_.cloneDeep(user) //깊은 복사 lodash를 이용 반복실행하면서 모든걸 복사 console.log(copyUser === user) user.age = 22 console.log('user',user) //{name: 'Heropy', age: 2..

JavaScript 2021.10.24

데이터 불변성

//데이터 불변성 //원시 데이터 String, Number, Boolean, undefined, null //참조형 데이터 : object, Array, Function //참조형 데이터는 같은 값이라도 다를 수 있다. /*let a = 1 let b = 4 console.log(a,b,a===b) //1 4 false b=a console.log(a,b,a===b) //1 1 true console.log(a,b,a===b) //7 1 false let c = 1 //값이 1이 있는 곳을 가르킨다. console.log(b,c,b===c) //1 1 true */ let a = { k : 1} let b = { k : 1} console.log(a, b, a === b) //{k: 1} {k: 1} ..

JavaScript 2021.10.24

전개 연산자

//전개 연산자 ... const fruits = ['Apple', 'Banana', 'Cherry','Orange'] console.log(fruits) //(3) ['Apple', 'Banana', 'Cherry'] console.log(...fruits) //Apple Banana Cherry function toObject(a,b,...c){ //매개변수에도 전개연산자 가능 a에 Apple b에 Banana 나머지가 C에 들어간다 return{ a, //속성이름 데이터 이름이 같으면 이런식으로 가능 b: b, c: c } } const toObject = (a,b,...c) => ({ a,b,c }) //위에 함수랑 똑같다 console.log(toObject(...fruits)) //{a: 'A..

JavaScript 2021.10.24

구조 분해 할당

//구조 분해 할당 (Destructuring assignment) const user = { name: 'Heropy', age:85, email:'thesecon@gmail.com' } const {name, age, email, address } = user console.log(`사용자의 이름은 ${name}입니다.`) //사용자의 이름은 Heropy입니다. console.log(`${name}의 나이는 ${age}세입니다.`) //Heropy의 나이는 85세입니다. console.log(`${name}의 이메일 주소는 ${email}입니다.`) //Heropy의 이메일 주소는 thesecon@gmail.com입니다. console.log(address) //undefined const fruit..

JavaScript 2021.10.24

object[assign, keys]

const userAge = { //key:value name:'Heropy', age:85 } const userAge2 = { //key:value name:'Heropy', age:85 } const userEmail = { name:'Heropy', email : 'thesecon@gmail.com' } //Object.assign() 메서드는 출처 객체들의 모든 열거 가능한 자체 속성을 복사해 대상 객체에 붙여넣습니다. 그 후 대상 객체를 반환합니다 const target = Object.assign(userAge, userEmail) //대상객체, 출처객체 출처를 복사해서 대상으로 [참조형 데이터->배열 객체 함수] console.log(target) //{name: 'Heropy', age:..

JavaScript 2021.10.24

데이터[숫자]

const pi=3.14159265358979 console.log(pi) const str=pi.toFixed(2) //소수점 2자리 console.log(str) //3.14 console.log(typeof str) //string const integer = parseInt(str) //숫자관련 전역함수 정수로반환 const float = parseFloat(str) //실수로 반환 console.log(integer) //3 console.log(float) //3.14 console.log(typeof integer, typeof float) //number number Math Math는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체입니다. 함수 객체가 아닙니다 //절대값 co..

JavaScript 2021.10.24

데이터[문자, string]

기호를 통해서 만들어 내는 방식 - 리터럴방식 String.prototype.indexOf() const result='Hello world!'.indexOf('world') console.log(result) //6 const result='Hello world!'.indexOf('Heropy') console.log(result) //-1 일치하는 값이 없다. const str = '0123' console.log(str.length) //4 const str2='Hello world!' console.log(str2.indexOf('world') !==-1) //있으면 true const str3='Hello world!' console.log(str3.slice(0,3)) //Hel 0~2까지 c..

JavaScript 2021.10.24