본문 바로가기

분류 전체보기

(370)
[Javascript] 심볼(Symbol) 지금까지 객체의 property key는 문자형으로 만들었다. const obj = { 1: '1입니다.', false: '거짓' } Object.keys(obj); // ["1", "false"] obj['1'] // "1입니다." obj['false'] // "거짓" 숫자형이나 boolean형으로 만들어도 Object.keys로 key들을 가져오면 문자형으로 반환되며, 실제로 접근할 때도 문자형으로 접근할 수 있다. 문자형 외에 Symbol형이 가능하다. Symbol은 유일한 식별자를 만들 때 사용한다. const a = Symbol(); // new를 붙이지 않는다!! const b = Symbol(); console.log(a) // Symbol() console.log(b) // Symbol()..
[Python] 리스트 함수 사용 형식 : 리스트명.함수명() append() - 리스트에 요소 추가 >>> a = [1, 2, 3] >>> a.append(4) >>> a [1, 2, 3, 4] >>> a = [1, 2, 3, 4] >>> a.append([5, 6]) >>> a [1, 2, 3, 4, [5, 6]] sort() - 리스트 정렬 반드시 같은 자료형이어야한다! 다른 자료형이 있으면 에러가 발생 >>> a = [1, 4, 3, 2] >>> a.sort() >>> a [1, 2, 3, 4] >>> a = ['a', 'c', 'b'] >>> a.sort() >>> a ['a', 'b', 'c'] reverse() - 리스트 뒤집기 리스트를 역순으로 뒤집어줌 요소들을 정렬한 다음 역순으로 정렬하는 것이 아니라 현재의 리스트..
[Python] 리스트 (인덱싱과 슬라이싱, 연산하기, 수정과 삭제) 리스트 : 여러 종류의 데이터를 한 곳에 저장하고 참조할 수 있는 데이터 구조 리스트 생성하기 리스트명 = [요소1, 요소2, 요소3, ...] >>> a = [] # a = list() >>> b = [1, 2, 3] >>> c = ['Life', 'is', 'too', 'short'] >>> d = [1, 2, 'Life', 'is'] >>> e = [1, 2, ['Life', 'is']] 리스트 인덱싱 >>> a = [1, 2, 3] >>> a [1, 2, 3] >>> a[0] 1 >>> a[0] + a[2] 4 >>> a[-1] 3 - 중첩된 리스트 >>> a = [1, 2, 3, ['a', 'b', 'c']] >>> a[-1] ['a', 'b', 'c'] >>> a[3] ['a', 'b', 'c..
[Javascript] 계산된 프로퍼티(Computed property), 객체 메소드(Object methods) 계산된 프로퍼티(Computed property)[] 을 이용해서 객체의 변수명에 미리 계산된 변수를 넣는 것이 가능하다.let a = 'age';const user = { name : 'Mike', [a] : 30 // age : 30}식 자체가 들어가는 것도 가능하다.const user = { [1 + 4] : 5, // 5 : 5 ["안녕"+"하세요"] : "Hello" // 안녕하세요 : "Hello"} 객체 메소드(Object methods)Object.assign() : 객체 복제const user = { name : 'Mike', age : 30,}// const cloneUser = user;const newUser1 = Object.assi..
[Javascript] 생성자 함수 개발을 하다보면 비슷한 객체를 여러 개 만들어야 하는 상황이 생긴다. 그럴 때 쓸 수 있는 것이 생성자 함수이다. 생성자 함수는 첫 글자를 대문자로 해서 함수로 만들어준다. new 연산자를 사용해서 함수를 호출한다. function User(name, age){ this.name = name; this.age = age; } let user1 = new User('Mike', 30); let user2 = new User('Jane', 22); let user3 = new User('Tom', 17); 비슷한 객체 3개를 만들었다. 생성자 함수는 와플 틀이라면 생성되는 객체들은 와플이라고 생각하면 된다. 동작하는 방식은 function User(name, age){ //this = {}; this.nam..
[Javascript] 객체(Object) 객체에는 key와 value로 구성된 프로퍼티가 들어간다. 프로퍼티는 쉼표로 구분한다.마지막 쉼표는 없어도 되지만 있는 것이 수정, 삭제, 이동할 때 용이하다.const superman = { name : 'clark', age : 33,} 접근superman.name // 'clark'superman['age'] // 33추가superman.gender = 'male';superman['hairColor'] = 'black';삭제delete superman.hairColor;단축 프로퍼티const name = 'clark';const age = 33;const superman = { name : name, age : age, gender : 'male',}객체의 nam..
[Javascript] 함수 표현식, 화살표 함수(arrow function) 함수 선언문 vs 함수 표현식 함수 선언문 : 어디서든 호출 가능 실행 전 초기화 단계에서 코드의 모든 함수 선언문을 찾아서 생성해놓는 호이스팅(hoisting) 때문이다. sayHello(); function sayHello(){ console.log('Hello'); } 함수 표현식 : 코드에 도달하면 생성 let sayHello = function(){ console.log('Hello'); } sayHello(); 화살표 함수(arrow function) 화살표 함수로 함수를 보다 간결하게 작성할 수 있다. let add = function(num1, num2) { return num1 + num2; } 위 함수를 화살표 함수로 바꾸면 let add = (num1, num2) => { return..
[Javascript] var, let, const의 차이 - 호이스팅, TDZ, scope var과 let의 차이점 var은 한 번 선언된 변수를 다시 선언할 수 있다. var name = 'Mike'; console.log(name); // Mike var name = 'Jane'; console.log(name); // Jane let은 한 번 선언된 변수를 다시 선언할 수 없다. let name = 'Mike'; console.log(name); // Mike let name = 'Jane'; // error! console.log(name); var는 선언하기 전에 사용할 수 있다. var로 선언된 모든 변수들은 코드가 최상위로 끌어올려진 것처럼 동작하기 때문이다. 이를 호이스팅(hoisting)이라고 한다. 선언은 호이스팅되지만 할당은 호이스팅 되지 않기 때문에 undefined가 출..