asciidwango / js-primer

:book: JavaScript Primer - 迷わないための入門書
https://jsprimer.net
Creative Commons Attribution 4.0 International
2.34k stars 223 forks source link

表記統一: 関数/メソッド #141

Closed azu closed 8 years ago

azu commented 8 years ago

110 #140 表示が決まったので、統一する。

正式名称の表記

静的メソッド

Array.fromメソッド

インスタンス(prototype)メソッド

Array#forEachメソッド

文中の表記

静的メソッド

Array.fromメソッド

インスタンス(prototype)メソッド

Array#forEachメソッド または コンテキスト的に理解できるならforEachメソッド

関数

音声読み上げ的に問題がありそうなため

textlintをかけるところは書く

azu commented 8 years ago

fn() 表記を調べたらこんな感じだった。 /cc @laco0416

preset-js-function/no-function-paren: `console.log()` should be written `console.log`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/read-eval-print/README.md:48:5
                v
    47. また、JavaScriptの開発環境は高機能化が進んでいるため、デバッガーなどが用意されていることが多く、
    48. コードに`console.log()`と書かなくても値を見ることもできるようになっています。
    49. 
                ^

preset-js-function/no-function-paren: `Symbol()` should be written `Symbol`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/data-type/README.md:20:21
                                  v
    19.     - null: 値が存在しないnull値を意味するデータ型
    20.     - シンボル(Symbol): `Symbol()`で作られたインスタンスは一意で不変な値となる
    21. - オブジェクト(Object)
                                  ^

preset-js-function/no-function-paren: `関数名()` should be written `関数名`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/function-method/README.md:46:9
                        v
    45. 
    46. 宣言した関数は、`関数名()`と書くことで呼び出すことができます。
    47. 
                        ^

preset-js-function/no-function-paren: `オブジェクト.メソッド名()` should be written `オブジェクト.メソッド名`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/function-method/README.md:289:24
                                                       v
    288. 
    289. メソッドを呼び出す場合は、関数呼び出しと同様に`オブジェクト.メソッド名()`のように呼び出します。
    290. 
                                                       ^

preset-js-function/no-function-paren: `Object.keys()` should be written `Object.keys`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/loop/README.md:282:24
                                                       v
    281. 
    282. 安全にオブジェクトのプロパティを列挙するには、`Object.keys()`、`Object.values()`、`Object.entries()`などのメソッドが利用できます。
    283. 
                                                       ^

preset-js-function/no-function-paren: `Object.values()` should be written `Object.values`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/loop/README.md:282:40
                                                                        v
    281. 
    282. 安全にオブジェクトのプロパティを列挙するには、`Object.keys()`、`Object.values()`、`Object.entries()`などのメソッドが利用できます。
    283. 
                                                                        ^

preset-js-function/no-function-paren: `Object.entries()` should be written `Object.entries`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/loop/README.md:282:58
                                                                                           v
    281. 
    282. 安全にオブジェクトのプロパティを列挙するには、`Object.keys()`、`Object.values()`、`Object.entries()`などのメソッドが利用できます。
    283. 
                                                                                           ^

preset-js-function/no-function-paren: `Object.keys()` should be written `Object.keys`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/loop/README.md:285:1
         v
    284. 先ほどの例である、オブジェクトのキーと値を列挙するコードはfor...in文を使わずに書くことができます。
    285. `Object.keys()`は`object`自身がもつ列挙可能なプロパティ名の配列を返します。
    286. そのためfor...in文とは違い、親オブジェクトのプロパティは列挙されません。
         ^

preset-js-function/no-function-paren: `JSON.stringify()` should be written `JSON.stringify`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/implicit-coercion/README.md:215:26
                                               v
    214. これは、オブジェクトに対しては別の方法があるためです。
    215. 配列には`Array#join`、オブジェクトには`JSON.stringify()`などより柔軟な文字列化をする方法があります。
    216. そのため、`String`コンストラクタ関数での変換は、あくまでプリミティブ型に対してのみに留めるべきです。
                                               ^

preset-js-function/no-function-paren: `new Promise()` should be written `new Promise`.
/Users/azu/.ghq/github.com/asciidwango/js-primer/source/ajaxapp/promise/README.md:70:44
                                                                                    v
    69. 
    70. コールバック関数を使う形式のAPIをPromiseに置き換えるのは、次のコードのように`new Promise()`を用いるのが一般的です。
    71. Promiseのコンストラクタには、`resolve`と`reject`の2つの関数オブジェクトを引数とする関数を渡します。
                                                                                    ^

✖ 10 problems (10 errors, 0 warnings)
lacolaco commented 8 years ago

これらは機械的には判別できなさそう

2016/09/13 午前10:05 "azu" notifications@github.com:

fn() 表記を調べたらこんな感じだった。 /cc @laco0416 https://github.com/laco0416

preset-js-function/no-function-paren: console.log() should be written console.log. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/read-eval-print/README.md:48:5 v

  1. また、JavaScriptの開発環境は高機能化が進んでいるため、デバッガーなどが用意されていることが多く、
  2. コードにconsole.log()と書かなくても値を見ることもできるようになっています。
  3.         ^

preset-js-function/no-function-paren: Symbol() should be written Symbol. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/data-type/README.md:20:21 v

    • null: 値が存在しないnull値を意味するデータ型
    • シンボル(Symbol): Symbol()で作られたインスタンスは一意で不変な値となる
    • オブジェクト(Object) ^

preset-js-function/no-function-paren: 関数名() should be written 関数名. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/function-method/README.md:46:9 v 45.

  1. 宣言した関数は、関数名()と書くことで呼び出すことができます。
  2.                 ^

preset-js-function/no-function-paren: オブジェクト.メソッド名() should be written オブジェクト.メソッド名. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/function-method/README.md:289:24 v 288.

  1. メソッドを呼び出す場合は、関数呼び出しと同様にオブジェクト.メソッド名()のように呼び出します。
  2.                                                ^

preset-js-function/no-function-paren: Object.keys() should be written Object.keys. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/loop/README.md:282:24 v 281.

  1. 安全にオブジェクトのプロパティを列挙するには、Object.keys()Object.values()Object.entries()などのメソッドが利用できます。
  2.                                                ^

preset-js-function/no-function-paren: Object.values() should be written Object.values. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/loop/README.md:282:40 v 281.

  1. 安全にオブジェクトのプロパティを列挙するには、Object.keys()Object.values()Object.entries()などのメソッドが利用できます。
  2.                                                                 ^

preset-js-function/no-function-paren: Object.entries() should be written Object.entries. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/loop/README.md:282:58 v 281.

  1. 安全にオブジェクトのプロパティを列挙するには、Object.keys()Object.values()Object.entries()などのメソッドが利用できます。
  2.                                                                                    ^

preset-js-function/no-function-paren: Object.keys() should be written Object.keys. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/loop/README.md:285:1 v

  1. 先ほどの例である、オブジェクトのキーと値を列挙するコードはfor...in文を使わずに書くことができます。
  2. Object.keys()object自身がもつ列挙可能なプロパティ名の配列を返します。
  3. そのためfor...in文とは違い、親オブジェクトのプロパティは列挙されません。 ^

preset-js-function/no-function-paren: JSON.stringify() should be written JSON.stringify. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/basic/implicit-coercion/README.md:215:26 v

  1. これは、オブジェクトに対しては別の方法があるためです。
  2. 配列にはArray#join、オブジェクトにはJSON.stringify()などより柔軟な文字列化をする方法があります。
  3. そのため、Stringコンストラクタ関数での変換は、あくまでプリミティブ型に対してのみに留めるべきです。 ^

preset-js-function/no-function-paren: new Promise() should be written new Promise. /Users/azu/.ghq/github.com/asciidwango/js-primer/source/ajaxapp/promise/README.md:70:44 v 69.

  1. コールバック関数を使う形式のAPIをPromiseに置き換えるのは、次のコードのようにnew Promise()を用いるのが一般的です。
  2. Promiseのコンストラクタには、resolverejectの2つの関数オブジェクトを引数とする関数を渡します。 ^

✖ 10 problems (10 errors, 0 warnings)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/asciidwango/js-primer/issues/141#issuecomment-246542974, or mute the thread https://github.com/notifications/unsubscribe-auth/ABdVXBBWb_1F4fDtwh_KfiVC88zKU7Puks5qpfblgaJpZM4J6LGX .

azu commented 8 years ago
  1. メソッドを呼び出す場合は、関数呼び出しと同様にオブジェクト.メソッド名()のように呼び出します。
  2. 宣言した関数は、関数名()と書くことで呼び出すことができます。

は例外なので無視するとして、後は一応代替表現ある感じかな。 なんとなく Symbol() だけ微妙感があるけど(コンストラクタではないし、関数?って感じの存在)

azu commented 7 years ago

これ改めて見ると、JavaScriptの関数は()で呼ぶとは限らないので、 関数名関数は正しいと言えそう。

タグ付きテンプレートリテラルのタグ関数は タグ関数`テンプレート` で関数を呼び出すので、()で呼び出すのが関数とは言えない感じ。

From https://github.com/asciidwango/js-primer/pull/227

テンプレートリテラル周りの用語整理

Name Code
タグ関数(tag function) String.raw`template`
タグ付きテンプレート(Tagged Templates) String.raw`template`
テンプレートリテラル(Template Literals) `template`
テンプレート文字列(TemplateStrings) `template` (`の中の文字列)