본문 바로가기

TIL

(35)
Section2-12 Data Type data type primitive data type in js 1. Number: Floating point numbers → Used for decimals and integers 소수, 정수 모두 사용된다. 즉 소수, 정수 모두 number 데이터 타입이다. 2. String: Sequence of characters → Used for text 3. Boolean: Logical type that can only be true or false → Used for taking decisions 4. Undefined: Value taken by a variable that is not yet defined (‘empty value’) 선언했지만 밸류 할당하지 않은 데이터 타입 ex) let chil..
24.1 객체와 클래스 어째서 첫글이 24.1 부터냐고? 책이 너무 두꺼워서이다. 두꺼운 책은 첫 장 펼치기가 너무 부담스럽다. 그래서 궁금한 게 생길때만 찾아보는, 게릴라 전략을 택했다. 양심은 있어서 블로그 글로 정리하기로 했다. 그러니 내 44,000원아 너무 서운해 하지마.. 객체와 클래스는 항상 헷갈린다. 알것같다 싶으면 내가 몰랐던 개념이 툭 튀어나오고, 알고 쓴다 생각하다가도 알고보면 전혀 모르고 있었고. 그래서 책을 뒤적거려봤다. self와 메서드 호출 루비에는 현재 객체라는 개념이 있다. 현재 객체는 self를 통해 참조할 수 있다. 이 self는 루비에서 두 가지 중요한 역할을 하는데, 아래와 같다. 1. 인스턴스 변수에 접근하고자 시도하면 루비는 self를 통해 인스턴스 변수를 찾는다. 2. 메서드를 호출할..
Argument default argument def aMethod( a=10, b=20, c=100, *d ) return a, b, c, d end def anotherMethod( greeting="Hello", name="friend" ) return "#{greeting}, #{name}" end p( aMethod ) # result : [10, 20, 100, []] p( aMethod( 1,2 ) ) # result : [1, 2, 100, []] p( aMethod( 1,2,3 ) ) # result : [1, 2, 3, []] p( aMethod( 1,2,3,4,6 ) ) # result : [1, 2, 3, [4, 6]] 위와 같은 식으로 디폴트값을 지정할 수 있다. 또한 기존에 선언한 매개변수보다 ..
class method 메소드란 오브젝트에 기능을 제공하는 역할을 합니다. 클래스 메소드 역시 기능을 제공하는 역할을 하며 클래스 그 자체에 대한 기능을 정의합니다. 예를 들어 봅시다. User.find(1) 루비온레일즈를 써보셨다면 익숙한 코드이실겁니다. 액티브레코드의 기능을 통해 유저 테이블에 있는 데이터를 조회하는 코드죠. 저 User모델 역시 클래스입니다. 하지만 User.new를 통해 객체를 생성하지 않은채 클래스명으로 바로 메소드를 호출했죠. 저 때의 find가 바로 클래스 메소드입니다. 이렇듯 클래스 메소드는 객체 생성없이 호출이 가능하며, 각 객체별이 아닌 클래스 전체와 관련된 기능을 정의합니다. 다시 말해, 정의하고자 하는 기능이 각각의 객체에 속하는 것이 아니라면 클래스 메소드로 정의해야 한다는 뜻입니다. 또..
Symbol 뭔지 모르겠지만 뭔가 있어보이니까 그냥 쓰자 루비를 배워본 적 없이 바로 개발에 투입되다보니 항상 '다들 이렇게 쓰니 나도 그냥 쓰자'라는 마인드였습니다 (a.k.a. 노답마인드). 그럼에도 항상 신경쓰이는 놈이 있었는데 바로 symbol입니다. 그냥 생각없이 쓰자니 눈에 너무 많이 띄더군요. 메소드 명이나 해쉬키로 자주 쓰이니 대충 이런 놈이겠지 싶은 감은 있었지만 정작 누군가 물어봤다면 대답을 못할것같았습니다. '상징이야' 라고 대답하기에는 문과인생을 청산한지도 꽤 오래 됐고 아재처럼 보이기도 싫고, 여튼 그랬어요. 이러한 이유로 첫 TIL 주제를 symbol로 정하게 되었습니다. 자 그렇다면, 심볼이란 뭘까요? 심볼이란 변경불가능한(immutable) 상수입니다. 라는 정의를 매번 봐왔습니다. 그때..