ウェブDeBLOG|トライデントコンピュータ専門学校 Webデザイン学科

トライデントコンピュータ専門学校 Webデザイン学科の最新情報を紹介しています。学生へのインタビュー記事から学生作品の解説、Webデザイン・マークアップ・プログラミングの授業風景、プロジェクト発表会、名古屋のWeb制作会社情報、イベント参加レポートやWeb制作の技術解説などWeb制作に関連する記事を掲載しています。トライデントコンピュータ専門学校は、いま話題の名古屋駅からユニモール地下街を歩いて3分です。 

2019.12.30 [月] JavaScriptのclassについて、書いてみた。

最終更新:2020.01.10Webサイト制作Tips

トライデントコンピュータ専門学校も冬休みです。
もういくつ寝ると、2020年です。この「ウェブDeBlog」も12年目となります。

長い間、ブログを書いていくと「続きを書きます」と書いては、いつかいつかと思いながら書けてない記事もたくさんあります。
その中のひとつ「そうだ、ECMAScript6(ES2015)でいこう」の続きも書いてなかったので、冬休みの期間を活かしてclassについて書きたいと思います。

js-class_002.jpg

さて、多くのオブジェクト指向言語では、クラスという仕組みがあります。 JavaScriptでは、ECMAScript2015から、クラス構文が使えるようになりました。
ただし、このクラスは以前からあったプロトタイプベースの継承の糖衣構文シンタクティックシュガーです。

ECMAScript2015で導入されたJavaScriptクラスは、JavaScriptにすでにあるプロトタイプベース継承の糖衣構文です。クラス構文は、新しいオブジェクト指向継承モデルをJavaScriptに導入しているわけではありません。

参考:クラス - JavaScript | MDN

クラスとはオブジェクトを作る際のデータやメソッドを定義してあり、いわばオブジェクトの設計図です。
オブジェクトを作る時には、クラス(型)を指定することで、指定したクラスに定義されたデータとメソッドを備えたテンプレートのインスタンス(コピー)となります。

js-class_003.jpg

上の図でいうと、Carというクラスを基にしたobject Car1, object Car2, object Car3のそれぞれがCarのインスタンスとなります。

js-class_001.jpg

ちなみに、Chromeをはじめ、Firefox, Safari, Edgeなどモダンブラウザでは対応済みです。
IE11では、他のES2015の新しい仕様と同様、利用できません。

参考:ECMAScript 6 compatibility table

目次

  • classの宣言
  • インスタンス
  • constructor(コンストラクタ)
  • インスタンスメソッド
  • staticメソッド(静的メソッド)
  • 継承
    • super
    • オーバーライド
  • getterとsetter
js-class_005.jpg

classの定義

クラスの定義には、クラス式とクラス宣言という2つの定義方法があります。

クラス宣言文

クラス宣言はclassキーワードを使って定義します。
また、クラスは関数と違い巻き上げがされないので、クラス利用する前に、そのクラスを宣言する必要があります。

class クラス名 {
  変数や処理を記述する
}

クラス式

クラスを定義する別の方法はクラス式です。クラス式は、クラス名ありでもクラス名なしでもできます。

//クラス名あり  
const 定数名 = class クラス名 {};
//クラス名ありの場合、クラスのnameプロパティによって取得可能
console.log(定数名.name) //⇒クラス名

//クラス名なし
const 定数名 = class {};

インスタンス

new演算子を使用してオブジェクト(インスタンス)を生成します。この事をインスタンス化といいます。

class Car{

}
//class宣言文で定義したCarをインスタンス化  
const taxi = new Car();  
//class Carは使い回せる  
const myCar = new Car();
const dammyCar = "car";

//instanceofという演算子で、そのクラスのインスタンスかどうかを判定できます。
console.log( taxi instanceof Car );
console.log( dammyCar instanceof Car );
true
false

また、インスタンス同士は、同じクラスから生成されても違うオブジェクトとして扱われます。

console.log( taxi === myCar);
false

constructor(コンストラクタ)

コンストラクター は、classによって生成される時(newの時)オブジェクトの生成・初期化を行う特別なメソッドです。
"constructor"という名前のメソッドは、クラスに1つしか定義できません。

class Car {  
  //コンストラクタ関数の仮引数としてmakeとmodelを定義
  constructor(make, model) {  
      //コンストラクタ関数におけるthisはインスタンスを示すオブジェクト  
      //インスタンスのmakeとmodelプロパティにそれぞれ値を設定する  
      //クラス内の変数ということでメンバー変数と呼ばれます
     this.make = make; //メーカー名  
     this.model = model; //モデル名
  }  
}   
//new演算子でインスタンスを作成してコンストラクタの仮引数に引数を渡す  
const myCar = new Car("Tesla", "Model S");  
console.log(myCar.make);
console.log(myCar.model);
Tesla
Model S

2017.03.13 [月] そうだ、ECMAScript6(ES2015)でいこう

最終更新:2019.12.29Webサイト制作Tips

2017年もあっという間に、3月半ばですね。
講師のカワグチです。

今では、Webサイトには欠かせないJavaScriptですが、国際的なプログラミング言語を提供できるようにEcma Internationalによって標準化されています。
ECMA は、以前は European Computer Manufacturers Association〈欧州電子計算機工業会〉の頭文字をとったものでしたが、1994年にEcma Internationalに名称を改めました。
この標準化されたJavaScriptのバージョンはECMAScriptと呼ばれ、現在、バージョンは、ES5(ECMAScript5)が一般的です。

参考:入門編 - JavaScript | MDN

es2015-001.jpg

2015年にES6が標準化され、徐々にWebブラウザで利用できるようになってきました。
また、このES6から、仕様書の表題に2015が追加されたことにより、ES6(ES2015)と併記されることが多くなりました。

さらに、昨年6月にはECMAScript2016が標準化され、現在ECMAScript2017が策定中です。
今後は毎年新しく仕様が策定されるようになるということでES7....8...ではなく、ES2016, ES2017, ...と表記されていくようです。

参考:ES6 or ES2015 ? 〜WEB+DB PRESS Vol.87 ES6特集に寄せて〜 - Cybozu Inside Out | サイボウズエンジニアのブログ

es2015-002.jpg

Internet Explorer11は、あまり対応していませんが、iOS SafariやGoogle ChromeをはじめMicrosoft Edgeなどの最新のWebブラウザでは対応しています。

参考:ECMAScript 6 compatibility table

最近では、出版されるJavaScriptの入門書でもES6(ES2015)を解説したものも多くなり、インターネット上の情報も特に注記もなく、新しい仕様で解説されていることも増えました。
授業でも、今後はES6(ES2015)を盛り込んでいって良い時期かもしれません。

ということで、ES6で新しく追加された仕様を少し調べてみました。

目次

  • ES6(ES2015)とは
  • let(局所変数)
  • const(定数)
  • 引数の記法
  • テンプレートリテラル
  • アロー関数
検索フォーム
新型コロナウィルス感染症の影響で学費等支援が必要になった学生のみなさんへ

文部科学省Webサイト内「新型コロナウィルス感染症の影響で学費等支援が必要になった学生のみなさんへ」へのリンクです。

プロフィール

担当:Webデザイン学科

名古屋駅から歩いて6分、トライデントコンピュータ専門学校のWebデザイン学科を紹介します。

トライデントロゴ

質問などはLINEでどうぞ。

Instagram
Webデザイン学科実績
<プレゼン>
WCAN 2016 Springに参加してきました。
WCAN 2015 Winterに参加しました。
建設業入職者増加プロジェクトの発表会に参加
WCAN 2015 Summerに参加してきました。
WCAN 2013 Winterに参加
WCAN(秋)に参加しました。
無事、発表が終わりました【WordFes Nagoya 2013】
WCAN 2013 Summerに参加してきました。
WCAN 2011 Winter LT&LOGO
学生がライトニングトークで話しました。
<展示会>
1年生進級展2018「線の群生」終了しました。
1年生進級展「WWW(Welcome to Web World)」を開催しました。
1年生進級展「お母さんの2度見展」を開催中です。
「うぇ~~~~~~~ぶ2016」終了しました。ご来場ありがとうございました!
「うぇ〜〜〜〜〜ぶ!!」終了。ご来場ありがとうございました!
<コンテスト>
信州アプリコンテスト0 [ゼロ] 2019 KDDI賞受賞!
第5回 ソレコン☆ポスコン特別賞受賞
「第1回 専門学校 HTML5作品アワード」技術賞を受賞しました!
NCF2017でグランプリを受賞しました!
信州アプリコンテスト0 [ゼロ] KDDI賞受賞!
NCF2014(スマホアプリ開発テーマ2) 準グランプリ獲得!
最優秀賞!HTML5スマートアプリ&クリエイティブコンテスト
NCF2013グランプリ受賞!!!
<Webサイト制作>
ミス・ユニバース・ジャパン岐阜大会公式Webサイトを作成しました。
建設業入職者増加プロジェクト発表会
Webサイト制作発表会2014
99eagle Webサイトリニューアル公開
99eagle Webサイト公開
「Bloom*Block」Webサイト公開
セントレア「日本の四季 キルト展」Webサイト公開
かっぱ商店街サイト制作
ココストア共同企画「アサココ!」公開
<技能五輪全国大会>
第56回技能五輪全国大会(ウェブデザイン職種)敢闘賞受賞!
第53回技能五輪全国大会(ウェブデザイン職種)その3
第52回技能五輪全国大会が開催されました。
銀メダル・銅メダル獲得【第51回技能五輪全国大会】
第49回技能五輪全国大会結果発表 敢闘賞受賞
第48回技能五輪全国大会結果発表(銀賞・敢闘賞受賞)
第47回技能五輪閉会式 & 結果発表
第46回技能五輪
<若年者ものづくり競技大会>
第14回若年者ものづくり競技大会
第11回若年者ものづくり競技大会 2日目&結果
第9回若年者ものづくり競技大会2日目(競技日)
第8回若年者ものづくり競技大会2日目
第7回若年者ものづくり大会
第6回若年者ものづくり大会2日目
第5回若年者ものづくり大会
第4回若年者ものづくり競技大会閉会式
月別アーカイブ
タグリスト 改

トライデントコンピュータ専門学校Webデザイン学科業界研究WCAN技能五輪ウェブデザイン職種若年者ものづくり競技大会ウェブデザインWebサイトポートフォリオ名古屋2013映画ECCコンピュータ専門学校学生ブログWebデザインWinter1年生進級展2009Webサイト制作JavaScript2011技能五輪全国大会WordPressかっぱ商店街卒業制作展入学式アクアリング礒田優オープンキャンパスアクセス解析2014NagoyaWordpressライトニングトーク卒展矢野りんa-blogWebcmsホームページ・ビルダーテンプレート作成石黒雄介Summer瀬川大勝体験入学若年者ものづくり大会卒業制作合同企業展面白法人カヤックWeb制作会社CGイラスト学科AutumnCSS杉本拓也html5miniHCD大阪GIOHTML5名古屋駅あいちカレーラーメンコンテストFlashウェブデザイン技能競技会佐藤歩IIJ2010第48回技能五輪全国大会ココストア2012JapanAdobeウェブデザイン技能競技大会2015in閉館日プレゼンテーション学生インタビュー東京研修北濱大輔COMMUNICATIONグリッドレイアウトウェブデザイン技能検定成田篤紀display:grid情報デザインフォーラム99eagleNEXTGridLayout夏休み制作合宿トライデント祭り学生セントレア就職活動プロジェクト夏季閉館日サイバーエージェントCSS3上村水月jQueryBananaAdフォトアルバムラーメンブログパーツ愛知県UX企業訪問情報デザインWebデザインギャラリーCentOS2018田中睦翔Webクリエイター能力認定試験人間中心設計gifアニメ林田実樹Springマール専門学校WebワークショップGoogle水野裕太2008サーティファイ愛知県選手団沖縄ウェブDeBLOGドラマワークショップ茂森仙直カメラ謹賀新年熊谷佳紀CMSモンキーワークス鷹野雅弘Zoom写真初期設定label要素ゴールデンウィーク空気人形和み飯田淳介フロントエンドエンジニアAnalyticsYahoo!JapanCSSNite株式会社LIGWebデザイナーiPhoneスマートフォンSEOForumカリキュラムアップルップルAWARDマークアップエンジニア幕張メッセ5T(ファイヴティー)Adventlegend要素Runstant結果発表Calendarfieldset要素form要素particleイラストマップ笈瀬本通りアサココ!ディプロストライデント知多みるくナゴヤドーム塚本碧岩手県ポートフォリオサイトWordCamp水野怜美1年生作品展豊田市美術館オンライン授業スマホアプリNTTドコモ東海Like導入授業Box長屋めぐみDTPWORLDStoreinput要素output要素select要素Apple静岡企業課題textarea要素option要素ビジュアルエディタ中日ドラゴンズ真鍋大度エイチーム情報デザイン基礎たこ焼きWebリテラシーFICCアンティー・ファクトリーメ~テレうぇーぶ鈴木優太canvasモリサワjbstyleウェブアクセシビリティ堀尾真衣コミュニケーションデザインワークショップMarkup名商連阿部淳也作品集ES2015トライデント合同企業展名古屋市科学館会社訪問産学協同WordFes進級展ES6グループ制作学習WEBサイト制作者のためのHCDの理解in名古屋出張講座久保怜也レイアウト2017アプリコンテスト戸田芳裕Pluginまぼろし信州アプリコンテスト[ゼロ]名古屋開府400年祭卒業式WebアプリF-siteunoplusIAWEBサイト制作者のためのHCDの理解伊藤頼子サーバーポートピア名古屋YORKE.技能五輪予選プロ野球スタジオジブリ・レイアウト展ビジュアルデベロップメント商店街金シャチ商店街フナ犬知多半島名古屋メディアボンド松坂屋美術館細川太郎プロトコル分析タロヲアクセシビリティネスカフェゴールドブレンド中部国際空港株式会社放課後のプレアデスキルターズフェスティバル2011笈瀬本通商店街SUBARUGAINAXキルト展日本の四季中部国際空港名古屋市中村区FLAVER3.0Slimbox2forLoadウェブリテラシー協会JISFLV8341-3:2010X愛知県立芸術大学卒業・修了制作展伊達千代DTPの勉強部屋ablogcms北岡弘至Magnumバルサマン3JAPANWORLDCUPトライデントカレッジCustomSmilies絵文字円JOY!mapKtaistyleぬいぐるみのラパンUntitled!!!!!!!!英国王のスピーチ卒業制作・研究発表会2011Lazy大西健太CODE名古屋クリエイターフットサル笈瀬本通ポスターデザイン・コンペディショングラフィクデザイン三蔵みの治商店Twitter名古屋グランパスチタハン10iPhone4シナリオペルソナ広島弁柴乃櫂人WEBサイト制作者のためのHCD(人間中心設計)の理解AndrioidITCIRCUSプチ・フレーズ商店サイト制作株式会社アクアリングブラザー工業株式会社大沢たかおカメラワーク石井研二田中稚妃呂横浜デジタルアーツGoogleAnalyticsCODEポスターデザイン・コンペティション小林信次愛知商業高校GAUltimate名チャリ名駅経済新聞増田悟名古屋サイト改善研究会中級編1→10designペルソナ/シナリオ法BlogUTZOOMLabuatTokyo「ヤノベケンジ-ウルトラ」展ワークスコーポレーション山村浩二デコクレセキュリティGENOウィルスCOMPLETECHILDRENTAFF'09広告批評WCAN×CSSNite西村真里子武豊町アートアニメーションADVENTVIIFANTASYFINAL□□□switch日本ファルコムActionScriptヱヴァンゲリヲン新劇場版:破西田幸司国家検定食品サンプル旭食品サンプル製作所ウサビッチカナバングラフィックス富岡聡学科インターネットスキル認定普及協会ライブペイント荒俣宏ファルコム音楽フリー宣言音楽ゲームUNIQLOCALENDAR黒い太陽ウルトラ展ヤノベケンジカスタマイズセミナープレゼン演習ActionScript基礎HelveticaSagmeisterStefanW+KTokyo(+CRUZ)デザインのへそWebDirectionEast'08ASIASIGGRAPHXRAY2008WinterQubibiArtlessTHEWEBウェブデザイン部門カンファレンスCONTEST01Nam丹下紘希HPデザインデザインコンテストVideopuppetry鳥取TEXTURE中村勇吾佐藤可士和SakaeサムライCS4HTML+CSS基礎造形基礎デッサンDesignNightCollege愛知県美術館アンドリュー・ワイエスデザイン鳥取砂丘PHPデザイナーのためのプログラミング入門FLEXFLASHMAX電信柱エレミの恋コマ撮りアニメクリ博就職フェスタペルソナ&シナリオ法浅野智おかだよういち3校合同発表会横浜デジタルアーツ専門学校森川眞行会社見学鎌倉日本電子専門学校プロジェクションマッピング情報デザイン教育勉強会コピーライティング小野裕子#infoedu教育勉強会山崎デザイン事務所スーパーエレメンツヨウイチイラストコンテストデュエル・マスターズ長谷川恭久箱根合宿横浜中華街TAFFWCAN46福みつ餃子武豊アニメーションフェスティバル名古屋おもてなし武将隊新世界道頓堀ナゴヤ武将都市浜松IA2010キックオフセミナーAndNIKE慶華飯店新横浜ラーメン博物館ThenThere夢プロジェクト2009・成果報告会ウェブリテラシー協会第一回セミナーSalsaWasロゴ公募FITC第4回アックゼロヨン・アワードCG・イラストコンテストモーション演習animationLPOギレン総帥人喰いの大鷲トリコ是枝裕和監督ナゴヤデザインウィーク2009UNIQLOCKescalatorアニメーションアイディグラフィックス学生参加CMS特集ソバットシアター今井佳子グラフィックデザインMozorama後期入賞ガンダム東京ゲームショウ2009大富豪スコアシートゆるキャラFlash-GameswonderflKyoto閉会式映画のオープニングCREAMごはんとFlashマークアップ演習マクロマリオネットdotFesHCDプロセスYahoo!世界のCMフェスティバルITホワイトボックスPHP勉強会JAPANインターネットクリエイティブアワードストリートビューブランディングAutuminカラー求人結果学校ターミナルProxyWCAN2017Springv4.0.1佐藤洋介服部友厚株式会社エイチーム山川綾那鈴木雄太スタジオディテイルズSyntaxHighlighterECMAScript芸大美大料理InstagramインスタグラムNodeListHTMLCollectionお母さんの二度見展マイクロソフトWebプログラミング初級講座appendChild()梅澤朝樹衣台高校ミス・ユニバース・ジャパン岐阜大会NCF2017フォントおじさん関口浩之堀川友章安藤志維toWWW(Welcome友章堀川安藤志維Contentsスクラップブック夏休みの課題ノートPC貸与尾鷲高校D3.js出身高校ofTableTOCAWARDS醐りょう制作実績坂本貴史津田直明2016原一浩平野秀幸IA/UXプラクティスAO入試河地芳明沼田啓助カークスヴィル坂本邦夫Webプログラマー学位専門士出席率職業実践専門課程レスポンシブWebデザイン合同制作合宿合同制作WebディレクターWeb制作のおしごと懇親会合宿プログラムクイズCodePenジムナストコロン学生作品集日清食品グループタカガールサイト水曜日のカンパネラMonaca情報系いな世驛麺通り再進学学園祭プラネタリアンResurgenceCodeplyPlunkerJSFiddleJSBinjsdo.it涼麺Day:Independenceクイズ駅麺通りWorld)北川パーヤン信州アプリコンテストゼロ足立丈也、平子卓哉、増田隼也落合祐介杉浦麻紀ライフスタイルeatmarker株式会社LIGHTzスポーツアナリティクスエペフェンシング冬休み仙直松本渚株式会社スタメン株式会社アンティー・ファクトリーPhotoshopCS6祐司髙橋茜音茂森コンテストソレコン☆ポスコン2019classes令和2年進級制作OriginalTshirt.st2020フロントエンドマイクロインタラクション株式会社COTS第3回専門学校HTML5作品アワードパラサイト2020アカデミー賞企業賞進級制作展ICS池田泰延Happyあけましておめでとう新年2019年NewYearMILKメンバーズ三瓶髙橋茜音GO第56回OculusVRカルタ東京ゲームショウ2018沖縄県pictureEC事業第56回技能五輪全国大会srcsetsource出前授業青山高校韓国ホ・ジヘ脆弱性なんと読む?期末テストWebデザインスペシャルデーHEOJIHYE新城高校冨田伴成イークリエイト藤井英一cyma斉藤洸貴株式会社MTG企業見学日本総合ビジネス専門学校2020新卒線の群生新入生オリエンテーションわたし、定時に帰ります。STUDIOLIGCBCTBSFigmaツールメーカー・ブランドコーヒー用品前川元成NextDoor平成31年あけおめUIデザイン牧野史門桝田草一株式会社サイバーエージェントウェブアートデザイナーうぇ~~~~~~~ぶあいちトリエンナーレ2013Webデザイン演習そこにいない。展PARTYPerfume第51回技能五輪全国大会嵐が如く麺屋ココイチフジ家55さかなや晴れやかbyinspired東京就職佐藤ねじみんなのICTFacebook木下健太郎Three.jsRhizomatiks田代豊たにぐちまことプレゼン麺やOKカレーラーメントライデント合同企業説明会F81教室10日でおぼえるLinuxサーバー入門教室卒業研究制作展最優秀賞GWDgoogle備忘録parseFloat()parseInt()DesignerジョルテKDDINCF2013美術大学芸術大学高橋雅人NTTドコモ東海支社list-style-typeHTML5スマートアプリ&クリエイティブコンテストモテ声ボーダーlist-itemdisplayたこ焼きパーティWeb制作合宿Ohanaメールマガジンゲーム大賞アマチュア部門東京ゲームショウ神戸ロゴマーク静岡県2011年度迎春敢闘賞ツインメッセ静岡神戸国際展示場DRAGONGATEドラゴンゲート愛知淑徳大学みつけものGoogleロゴ5月11日鈴木プラネタリウムライアン・ウッドワードマーサ・グレアムドコモdocomoSVGIllustratorFacebookページベースキャンプ名古屋SHOW長野第50回Muse画像をチェックボタンにする張山大祐JQueryGAMETOKYOイマジンカップNHNStationFutureTeamBloosum東京ゲームショウ2012第7回若年者ものづくり競技大会尾花大輔Bloom*Block栗山聡一concrete5Velocity.jsWebアクセシビリティScrollMagicScrollmagic八木智章アクセシビリティからはじめる、WebサイトのUXデザイ建設経営者倶楽部クリスマス熊﨑彩第53回ワクワク建設タウン竹中民男夏麺フェアWF1でBLOG新入生インターンシップスマートフォンサイトUI図鑑CSS3&jQueryで作る2015年度Crayon木村哲朗森田霞HighlighterSyntax東京コスモ3DCG高校採用担当者の心に響く14グロースハッカーグロースハックポートフォリオアイデア帳平野健太郎ワイヤーフレーム仕事UIバイドゥPlatformKaizenFlexbox味仙CGスペシャリスト松田洋樹FlexibleBox岡田陽一アクティビティシナリオ源賢司UXデザインDmm.com名古屋駅麺通りNCF2014和歌山中華そばアロチ本家熊野三山大門坂那智の大滝丸高丸田屋名古屋市営地下鉄柏木祥太スパルタキャンプ岩出本店本州最南端串本石原愛実宇野剛志ランチ中村健太道家陽介テーブルtable八鬼山熊野古道マカベン名古屋マークアップ勉強会青空学区特別授業datalist要素button要素keygen要素optgroup要素type属性HTML第52回技能五輪全国大会新年のご挨拶親孝行麺の匠オリエンタル紅茶専門店Liyn-anアイテムカンパニー加藤ひとみ西岡克真AnimationAO山田拓生青山敬司ネイルサロンマウア授業アイチータ結団式恵那市岩村

メールフォーム

名前:
メールアドレス:
件名:
本文:

東京コスモ
トライデントコンピュータ専門学校
教務課のびのび日記
オフィス川口
Pagetop