목록분류 전체보기 (175)
가자미의 개발이야기
spread : 다른 변수나 배열의 원소를 그대로 계승함을 의미(...으로 표현) //spread const slime={ name : 'slime' }; const cuteSlime={ ...slime,//spread attribute: 'cute' }; const animals=['dog', 'cat']; const anotherAnimals=[...animals, 'pigeon']; rest : 객체나 배열에서 특정값을 제외한 나머지를 반환해서 배열이나 객체를 반환 매개변수로 rest를 사용시 여러 매개변수를 받아 배열로 만드는 역할을 함. //rest const purpleCuteslime={ name: 'slime', attribute:'cute', color:'purple' }; const {..
//비구조할당 const object = { a:1}; const {a, b=2}=object; const array = [1]; const [one, two=2]=array; const deepObject={ state:{ information:{ name:'name', lang: ['korean', 'japan','china'] } }, value : 5 }; const {name, lang}=deepObject.state.information; const {value}= deepObject; const { state2:{ information2:{ name,lang2 } }, value }=deepObject;
자바스크립트에서 false 판정이 되는 것들을 falthy, true 판정이 되는 것을 truthy. //falthy & truthy false ==null ==0 =='' ==NaN ==undefined; //그 외는 모두 true //단축평가 논리연산 //&&연산시 전항이 참일 경우 뒷 항을 출력 //||연산시 전항이 거짓일 경우 뒷 항을 출력
변수 = (조건) ? (조건이 참일 경우 변수에 할당) : (조건이 거짓일 경우 변수에 할당) //삼항연산자 const array=[]; let text=array.length===0 ?'empty' :'not empty'; //복합 삼항연산자(비추, 차라리 조건문) const condition1 = false; const condition2 = false; const value = condition1 ? 'wow' : condition2 ? 'blabla' : 'foo';
constructor : 자바의 생성자와 동일한 기능. 클래스 멤버 변수에 값을 초기화. //class class Animal{ constructor(type, name, sound){//생성자 this.type=type; this.name=name; this.sound=sound; } say(){ console.log(this.sound); } } class Dog extends Animal{//상속 예시 constructor(name, sound){ super('개', name, sound); } }
call : 상위 개체에 매개변수를 전달하면서 인스턴스를 생성. //객체 생성자와 상속 function Animal(type, name, sound){ this.type=type; this.name=name; this.sound=sound; } Animal.prototype.say=function(){ console.log(this.sound); } function Dog(name, sound){ Animal.call(this, '개', name, sound); } function Cat(name, sound){ Animal.call(this, '고양이', name, sound); } Dog.prototype=Animal.prototype; Cat.prototype=Animal.prototype;
prototype : 함수를 개체로 선언할 때 함수를 매 인스턴스마다 선언하는게 부담스러워서 생긴 기능. 프로토타입을 사용하면 여러 인스턴스를 만들어도 해당 함수는 하나로 모두 통용된다. //prototype function Animal(type, name, sound){//개체 생성자 this.type = type; this.name = name; this.sound = sound; /*function say(){ console.log(this.sound); }*/ } Animal.prototype.say=function(){ console.log(this.sound); }//dog.say=say;cat.say=say;와 같은 의미 const dog = new Animal('개','멍멍이', '멍멍')..
reduce : 콜백을 모든 원소들이 반복하고 그 값을 누적한다. const numbers = [1,2,3,4,5]; const sum = numbers.reduce((accumulator, current)=>accumulator+current, 0) //accumulator 결과값이 누적, current 현재 배열원소 //reduce 활용 const alpahnbet=[a,a,a,b,c,c,d,e]; alphabets.reduce((acc,current)=>{ if(acc[current]){ acc[current]+=1; }else{ acc[current]=1; } return acc; }); reduce 문을 통해 배열 내의 중복된 알파벳 갯수를 반환하는 예제이다.
map : 배열의 원소마다 특정 값으로 바꾸어 반환 indexOf : 해당 인덱스에 맞는 배열의 원소를 반환 //map const array = [1,2,3,4,5]; const array3=array.map(n=>n*n); //indexof const ar1=[1,2,3,4]; const index=ar1.indexOf(2); findIndex : 특정 콜백함수에 적합한 원소의 인덱스 반환 filter : 특정 콜백함수에 적합한 원소를 반환 // findindex const todos=[ { id:1, text :'js intro', done : true }, { id:2, text :'js intro2', done : false } ]; const index = todos.findIndex(todo=..
for of : 배열의 원소들을 하나하나 대입 //for of const nubmers=[1,2,3,4,5]; for (let number of numbers){ console.log(number); } for in : 객체의 멤버들의 키를 하나하나 대입 const dog={ name: 'doggy', age: 3, sound:"bakr!" }; for (let key in dog){ console.log(key); console.log(dog[key])//value출력 }; forEach : 배열의 매 원소들로 콜백 함수 실행 //for each const superHeroes=[ironman, superman, batman]; superHeroes.forEach(hero=>{ console.log(h..